SQL server 1

Page 1

SQL Server Creaci贸n de una base de datos

Ing.RafaelRozo


SQL Server  Creación de una base de datos de SQL Server con el Management Studio. Pasos para la creación de la base de datos Prueba y la tabla Clientes. 1- Abrir el Management Studio y selecciona la instancia en la que quieres trabajar, en la figura 1 es la instancia de SQLEXPRESS.

Page  2

Ing.RafaelRozo


SQL Server 2- Con el botón derecho (o el botón secundario), pulsa en Bases de datos y del menú selecciona Nueva base de datos.

Page  3


SQL Server 3- Eso hará que muestre una ventana como la de la figura. A la base de datos, le vas a dar el nombre Prueba, se debe escribir ese nombre en la caja de textos correspondiente y después pulsa en el botón Aceptar.

Page  4


SQL Server 4- Ahora vamos a escribir el código para crear la tabla Clientes. 5- En la base de datos que hemos creado, pulsa con el botón derecho del ratón para que te muestre el menú contextual, del que seleccionarás Nueva consulta, tal como puedes ver en la figura.

Page  5


SQL Server 6- Eso hará que se muestre una ventana en el panel de la derecha (junto a la ficha Resumen). 7- El siguiente es el SCRIPT para la creación de la tabla clientes en la base de datos Prueba en la ventana de consultas, para ejecutar el SCRIPT pulsar en el botón Ejecutar, o bien pulsa la tecla F5.

Page  6


SQL Server Sentencia: SET QUOTED_IDENTIFIER Esta sentencia hace que SQL Server siga las reglas de ISO en cuanto a comillas delimitadoras de identificadores y cadenas literales se refiere. Los identificadores delimitados con comillas dobles pueden ser palabras clave reservadas de Transact-SQL o pueden contener caracteres normalmente no admitidos por las reglas sintĂĄcticas para identificadores de Transact-SQL. Sintaxis: SET QUOTED_IDENTIFIER { ON | OFF } Cuando SET QUOTED_IDENTIFIER es ON, los identificadores pueden delimitarse con comillas dobles y los literales deben delimitarse con comillas simples. Cuando SET QUOTED_IDENTIFIER es OFF, los identificadores no pueden entrecomillarse y deben seguir todas las reglas para identificadores de Transact-SQL.

Page  7

Ing.RafaelRozo


SQL Server SET QUOTED_IDENTIFIER OFF GO -- Un intento de crear una tabla con una palabra clave reservada en un nombre . CREATE TABLE "select" ("identity" INT IDENTITY NOT NULL, "order" INT NOT NULL); GO -- Falla SET QUOTED_IDENTIFIER ON; GO CREATE TABLE "select" ("identity" INT IDENTITY NOT NULL, "order" INT NOT NULL); GO SELECT "identity","order" FROM "select" ORDER BY "order"; GO DROP TABLE "SELECT"; GO SET QUOTED_IDENTIFIER OFF; GO -- Tendrán éxito Page  8

Ing.RafaelRozo


SQL Server IDENTITY (1,1) Sintaxis IDENTITY [ (seed , increment ) ] Seed Es el valor que se utiliza para la primera fila cargada en la tabla. Increment Se trata del valor incremental que se agrega al valor de identidad de la anterior fila cargada. Debe especificar tanto el valor de inicializaciĂłn como el incremento, o bien ninguno de los dos. Si no se especifica ninguno, el valor predeterminado es (1,1). No confundir con @@IDENTITY

Page  9

Ing.RafaelRozo


SQL Server Constraint (Clase) Representa una restricción que se puede imponer a uno o varios objetos DataColumn.

PRIMARY KEY Es una restricción que exige la integridad de entidad para una o varias columnas especificadas a través de un índice único. Solo se puede crear una restricción PRIMARY KEY para cada tabla. CLUSTERED | NONCLUSTERED Indica que se ha creado un índice clúster o no agrupado para la restricción PRIMARY KEY o UNIQUE. De forma predeterminada, el valor de las restricciones PRIMARY KEY es CLUSTERED, y el de las restricciones UNIQUE es NONCLUSTERED. En una instrucción CREATE TABLE, se puede especificar CLUSTERED tan solo para una restricción. Si se especifica CLUSTERED para una restricción UNIQUE y se especifica también una restricción PRIMARY KEY, el valor predeterminado de PRIMARY KEY es NONCLUSTERED. UNIQUE Es una restricción que proporciona integridad de entidad para una o varias columnas especificadas a través de un índice único. Las tablas pueden tener múltiples restricciones UNIQUE. [ ASC | DESC ] Especifica cómo se ordenan la columna o las columnas que participan en las restricciones de la tabla. El valor predeterminado es ASC. Page  10

Ing.RafaelRozo


SQL Server PAD_INDEX = { ON | OFF }

Cuando es ON, el porcentaje de espacio disponible especificado por FILLFACTOR se aplica a las páginas de nivel intermedio del índice. Cuando es OFF o no se especifica ningún valor de FILLFACTOR, las páginas de nivel intermedio se rellenan casi al máximo de su capacidad dejando espacio suficiente para al menos una fila del tamaño máximo que el índice puede contener teniendo en cuenta el conjunto de claves de las páginas intermedias. El valor predeterminado es OFF. FILLFACTOR Especifica un porcentaje que indica cuánto debe llenar el Motor de base de datos el nivel hoja de cada página de índice cuando se crea o se altera un índice. fillfactor debe ser un valor entero entre 1 y 100. El valor predeterminado es 0. Los valores de factor de relleno 0 y 100 son idénticos. STATISTICS_NORECOMPUTE = { ON | OFF }

Si es ON, las estadísticas de índices no actualizadas no se vuelven a calcular automáticamente. Si es OFF, se habilita la actualización automática de estadísticas. El valor predeterminado es OFF. Page  11

Ing.RafaelRozo


SQL Server Integridad de los datos La exigencia de integridad de los datos garantiza la calidad de los datos de la base de datos. Por ejemplo, si se especifica para un empleado el valor de identificador de 123, la base de datos no debe permitir que ningún otro empleado tenga el mismo valor de identificador. Si tiene una columna employee_ratingpara la que se prevean valores entre 1 y 5, la base de datos no debe aceptar valores fuera de ese intervalo. Si en la tabla hay una columna dept_id en la que se almacena el número de departamento del empleado, la base de datos sólo debe permitir valores que correspondan a los números de departamento de la empresa. Dos pasos importantes en el diseño de las tablas son la identificación de valores válidos para una columna y la determinación de cómo forzar la integridad de los datos en la columna. La integridad de datos pertenece a una de las siguientes categorías:  Integridad de entidad  Integridad de dominio  Integridad referencial  Integridad definida por el usuario

Page  12

Ing.RafaelRozo


SQL Server  Integridad de entidad La integridad de entidad define una fila como entidad única para una tabla determinada. La integridad de entidad exige la integridad de las columnas de los identificadores o la clave principal de una tabla, mediante índices y restricciones UNIQUE, o restricciones PRIMARY KEY.

 Integridad de dominio La integridad de dominio viene dada por la validez de las entradas para una columna determinada. Puede exigir la integridad de dominio para restringir el tipo mediante tipos de datos, el formato mediante reglas y restricciones CHECK, o el intervalo de valores posibles mediante restricciones FOREIGN KEY, restricciones CHECK, definiciones DEFAULT, definiciones NOT NULL y reglas.  Integridad definida por el usuario

La integridad definida por el usuario permite definir reglas de empresa específicas que no pertenecen a ninguna otra categoría de integridad. Todas las categorías de integridad admiten la integridad definida por el usuario. Esto incluye todas las restricciones de nivel de columna y nivel de tabla en CREATE TABLE, procedimientos almacenados y desencadenadores.

Page  13

Ing.RafaelRozo


SQL Server  Integridad referencial La integridad referencial protege las relaciones definidas entre las tablas cuando se crean o se eliminan filas. En SQL Server la integridad referencial se basa en las relaciones entre claves externas y claves principales o entre claves externas y claves exclusivas, mediante restricciones FOREIGN KEY y CHECK. La integridad referencial garantiza que los valores de clave sean coherentes en las distintas tablas. Para conseguir esa coherencia, es preciso que no haya referencias a valores inexistentes y que, si cambia el valor de una clave, todas las referencias a ella se cambien en consecuencia en toda la base de datos. Cuando se exige la integridad referencial, SQL Server impide a los usuarios:

Agregar o cambiar filas en una tabla relacionada si no hay ninguna fila asociada en la tabla principal. Cambiar valores en una tabla principal que crea filas huĂŠrfanas en una tabla relacionada. Eliminar filas de una tabla principal cuando hay filas relacionadas coincidentes.

Page  14

Ing.RafaelRozo


SQL Server Por ejemplo, en las tablas Sales.SalesOrderDetail y Production.Product de la base de datos AdventureWorks2008R2, la integridad referencial se basa en la relación entre la clave externa (ProductID) de la tabla Sales.SalesOrderDetail y la clave principal (ProductID) de la tabla Production.Product. Esta relación garantiza que un pedido de ventas no pueda nunca hacer referencia a un producto que no existe en la tabla Production.Product.

Page  15

Ing.RafaelRozo


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.