Académique Documents
Professionnel Documents
Culture Documents
master
model tempdb msdb
Archivo MDF (Arch. De Datos)= Se usan para almacenar datos y objetos como tablas,
índices, vistas y procedimientos almacenados.
• Numéricos
– Integer
– Exact numeric
– Approximate numeric
– Monetary
• Date and Time
• Character y Unicode Character
• Binary
• Sql_Variant, Table, uniqueidentifier, timestamp
Crear y Eliminar Tablas
• Crear tablas
Nombre de columna Tipo de dato NULL o NOT NULL
CREATE TABLE Empleados
(codEmpleado int IDENTITY (1,1) NOT NULL,
nomEmpleado varchar(25) NOT NULL,
direcEmp Varchar(50) NOT NULL,
foto image NULL)
)
• Eliminar tablas
DROP TABLE [Nombre_Tabla]
Eliminar
ALTER TABLE Empleados
DROP COLUMN foto
Eliminar
NULL o
Nombre de columna Tipo de dato
NOT NULL
CREATE TABLE DemoCalc
(cod Char(4) NOT NULL,
des varchar(25) NOT NULL,
precio money NOT NULL,
cant integer NULL)
total As (precio * cant)
)
Propiedad Identity
Permite generar valores secuenciales del sistema, este tipo de valores
pueden ser utilizados en columnas que seran empleadas como
PRIMARY KEY.
Para emplear esta propiedad debe especificar un [VALOR DE INICIO]
y [INCREMENTO o DECREMENTO DEL VALOR_INICIO].
Recuerde que este tipo de columnas no son EDITABLES. Solo
trabajando con la sentencia INSERT
Sintaxis
Alter Table NombreTabla
Add Column nomCol Tipo_dato IDENTITY (Vi,Inc) NOT NULL
Creacion de Constraint en una Tabla
Integridad de datos
La integridad de los datos se refiere a la consistencia y exactitud
de los datos que se guardan en una base de datos.
• Tipos de integridad de datos
Integridad de dominio
(columnas)
Integridad de Entidad
(filas)
Integridad Referencial
(entre tablas)
Tipos de Integridad
• Integridad de dominio - Se conoce como el dominio de un atributo al
conjunto de valores aceptables para dicho atributo.
• Integridad de entidad - Una tabla almacena los datos de cada una de las
ocurrencias de una entidad. La entidad (o tabla) requiere que todas sus filas
sean únicas. Esto se garantiza definiendo para cada fila de la entidad un
identificador único (llave primaria).
• Integridad referencial - La integridad referencial garantiza que la relación
entre la llave primaria (en la tabla referenciada) y la llave foránea (en la
tabla de referencia) siempre se mantiene
Donde:
PK_nombre_tabla es el nombre de la restricción de la clave primaria. Se
recomienda definir como nombre de la clave primaria, con el prefijo PK_. Si
no se especifica el nombre de la restricción, SQL Server le asigna un nombre.
columnaX, columnaP, es la columna o combinación de columnas que se define
como clave primaria. Las columnas involucradas no deben permitir valores nulos,
y además, no deben tener valores duplicados.
CONSTRAINT FOREIGN KEY
Es la que controla la relación Integral de las diferentes tablas que componen
la base de datos. Sus principales reglas son:
• Deben referenciar a un constraint PRIMARY KEY
• Proveen integridad referencial
• No crean índices
ALTER TABLE nombre_tabla ADD CONSTRAINT FK_nombre_tabla_tabla_referenciada
FOREIGN KEY( columnaX, columnaP, … ) REFERENCES tabla_referenciada
Donde:
FK_nombre_tabla_tabla_referenciada es el nombre de la restricción clave
foránea. Se recomienda definir como nombre de la clave foránea con el
prefijo FK_. Si no se especfica el nombre de la restricción, SQL Server le asigna un
nombre.
columnaX, columnaP, es la columna ó combinación de columnas que se define
como clave foránea.
tabla_referenciada es el nombre de la tabla primaria con la que se
relaciona la tabla secundaria que tiene la clave foránea.
CONSTRAINT DEFAULT
• Aplicado sólo para sentencias INSERT
• Sólo se acepta un DEFAULT por columna
• No puede ser usado con la propiedad IDENTITY
Donde:
DF_nombre_tabla_nombre_columna es el nombre de la restricción valor
predeterminado o DEFAULT. Se recomienda definir como nombre de la
restricción, el nombre de la tabla seguido del nombre de la columna afectada,
todo con el prefijo DF_. Si no se especifica el nombre de la restricción, SQL Server
le asigna un nombre.
valor_predeterminado es el valor que se almacena en columnaX cuando al
insertar una fila no se especifica el valor para esa columna.
columnaX es la columna a la que se aplica la restricción.
CONSTRAINT CHECK
• Son empleados con sentencias INSERT y UPDATE
• Pueden referenciar otras columnas en la tabla
Donde:
CK_nombre_tabla_nombre_columna es el nombre de la restricción regla
de validación o CHECK. Se recomienda definir como nombre de la
restricción, el nombre de la tabla seguido del nombre de la columna
afectada, todo con el prefijo CK_. Si no se especifica el nombre de la
restricción, SQL Server le asigna un nombre.
Condición, es la expresión que determina cómo debe ser el valor a ingresar
en la columna afectada por la restricción.