SlideShare una empresa de Scribd logo
Fundamentos de SQL
Server 2008
Curso: Base de Datos (Lab)
Logro de la Unidad
• Al terminar la unidad, los alumnos construirán
una base de datos relacional utilizando el gestor
de base de datos SQL – Server 2008 y los
comandos del Lenguaje de Definición de Datos
(DDL), asegurando la integridad de los datos
mediante el empleo de restricciones tomando
como caso un proceso de negocio real.
Temas a tratar
Tema 1: Creación de bases de datos
1. Sentencias DDL para creación de bases de datos.
2. Identificación de los tipos de datos empleados en SQL Server
2008.
Tema 2: Restricciones e integridad referencial
1. Creación de tablas e integridad de relación.
2. Implementación de restricciones:
•PRIMARY KEY
•FOREIGN KEY
•CHECK
•UNIQUE
•DEFAULT
Tabla: Definición
•Colección de datos sobre
una entidad (Persona,
Lugar, Cosa) específica,
que tiene un número
discreto de atributos
designados (por ejemplo
cantidad o tipo).
•Las tablas están en el
corazón de SQL Server y
del modelo relacional en
general.
Tabla: Creación
•Para crear una tabla
debemos especificar :
• El nombre que le queremos
asignar
• El nombre de cada campo
• El tipo de dato de cada campo
• Características de cada
campo
•Tener en cuenta el estándar
para crear objetos
Tabla: Creación
• El nombre de la columna debe ser único dentro de la tabla; sin embargo,
se puede repetir en otras tablas dentro de la misma base de datos.
• El tipo de dato debe ser alguno de los ofrecidos por SQL Server.
También se pueden definir tipos de datos de usuario.
• Not Null indica que dicha columna requiere la asignación de un valor
distinto de ‘null’. Null indica que la columna acepta ‘null’ como un valor.
Nombre de tabla
Create Table Empleado(
Campo Tipo de dato Característica
Codigo Char(8) Not Null,
Nombre Varchar(30) Not Null,
Sexo Char(1) Null
)
Tabla: Sintaxis DDL
1. CREATE TABLE.- Crea un tabla
2. ALTER TABLE.- Modifica la estructura de
una tabla
3. DROP TABLE.- Elimina una tabla y sus
datos. Es necesario que la tabla no tenga
dependencias asociadas.
Tabla: Objeto Sys.Tables
• El objeto Sys.Tables y Sys.Objects almacenan en una
lista las tablas almacenadas en una base de datos
Create Table Empleado(
Codigo Char(8) Not Null,
Nombre Varchar(30) Not Null,
Sexo Char(1) Null
)
Sys.Objects
Sys.Tables
Inserta
Elimina
Drop Table Empleado
Tabla: Modificando su Estructura
Para agregar una o varias columnas a una
tabla se ejecuta el comando ALTER TABLE.
Alter Table Empleado
Add Sueldo Numeric(8,2) Null
Codigo Nombre Sexo Sueldo
Codigo Nombre Sexo
Tabla: Modificando su Estructura
Para eliminar una o varias columnas a una
tabla se ejecuta el comando DROP TABLE.
Alter Table Empleado
Drop Column Sexo
Codigo Nombre Sexo Sueldo
Codigo Nombre Sueldo
Tabla: Ejemplo
Relaciones entre Tablas
Curso: Base de Datos (Lab)
Equipo de Profesores del Curso
Relaciones entre Tablas
• Las relaciones sirven para poder utilizar datos
procedentes de otras tablas como si formaran
parte de la tabla en la que se esté trabajando.
• Establecer una relación entre dos tablas
equivale a establecer una unión entre ellas,
para poder hacer esto se debe dar una
condición muy concreta: en las dos tablas
tiene que haber un campo que contenga el
mismo dato.
Relaciones entre Tablas: 1 a 1
• Se crean si ambas tablas tienen
una llave primaria o restricción
única.
• La clave principal y externa se
indican con una llave
Relaciones entre Tablas: 1 a M
• Una relación de uno a varios sólo
se crea si una de las columnas
relacionadas es una clave
principal o tiene una restricción
única .
• El lado de la clave principal de
una relación de uno a varios se
indica con un símbolo de llave,
mientras que el lado de la clave
externa de una relación se indica
con un símbolo de infinito
Relaciones entre Tablas: 1 a M
• A continuación se muestra una
relación de uno a muchos en
una relación recursiva.
• Un Contrato puede ser la
extensión de otro contrato y un
contrato puede tener muchas
extensiones.
Relaciones entre Tablas: M a N
DEPARTAMENTOS CONTRATO
A nivel físico, una relación “Muchos a Muchos” se representa como 2
relaciones “Uno a Muchos”.
m m
se
registra
Fec_Ini_Alq Fec_Fin_Alq
MODELO LÓGICO
Cod_Edif
Cod_Dep
Cod_Cont
Area_Tot_Dep
Relaciones entre Tablas: M a N
Se define una tabla intermedia (que une a las relacionadas) la cual
tiene una PK (Primary Key) conformada por las columnas PK de las
otras dos tablas.
MODELO FÍSICO
Integridad de Datos
Curso: Base de Datos (Lab)
Equipo de Profesores del Curso
Restricciones
BASE DE DATOS
Data Base Owner (dbo)
Integridad de Datos: Restricción
Integridad de Datos: Restricción
Una restricción consiste en la definición
de una característica adicional que tiene
una columna o una combinación de
columnas, suelen ser como:
• Valores no nulos (campo requerido)
• Definición de índice sin duplicados
• Definición de clave principal y clave
foránea
• Definición de validación del dominio de
las columnas
Integridad de Datos: Restricción
Son 7 restricciones o constraint a nivel del
motor de base de datos.
1. PRIMARY KEY. Clave Primaria.
2. FOREIGN KEY. Clave externa.
3. UNIQUE. Unicidad de datos.
4. NULL. Valor vacío.
5. DEFAULT. Valor predeterminado.
6. IDENTIDAD. Correlativo automático.
7. CHECK. Alternativa de valores.
Constraint: Primary Key
• Valor que identifica de manera única a cada FILA
• El valor puede ser el de un campo (simple) o la
combinación de varios campos (compuesta)
• Los campos que identifican al Primary Key deben
ser Not Null
• Restricción:
– No permite valores nulos.
– No permite valores duplicados.
Constraint : Primary Key
ID_DISTRITO NOM_DiSTRITO
L01 CERCADO DE LIMA
L02 LA VICTORIA
L03 LINCE
ENTIDAD DISTRITOS
• Se define un Primary Key por TABLA
• Se puede definir para una o más
COLUMNAS
• Índice de tipo CLUSTERED: La tabla está
ordenada físicamente por su índice
Constraint : Foreign Key
• Un Foreign Key permite definir una clave externa,
que es una columna o combinación de columnas,
que se utiliza para establecer y exigir un vínculo
entre los datos de dos tablas.
• Evidencia una relación física entre dos entidades
• En una relación “Uno a Muchos” la llave del lado
“Uno” es referenciada desde el lado “Muchos”
Constraint : Foreign Key
• Antes de registrar un dato en Clientes,
debe haber sido registrado en Distritos.
• Antes de borrar un dato de Distritos, no
debe de existir un dato en Clientes.
ID_DISTRITO DIS_NOMBRE
L01 CERCADO DE LIMA
L02 LA VICTORIA
L03 LINCE
ID_CLIENTEID_DISTRITO CLI_RAZON
9871899 L01 BIMBO S.A.
9871900 L01 LA FABRIL SRLTDA.
9871901 L02 CREDICORP
Tabla DISTRITOS
Tabla CLIENTES
Llave foránea
Llave primaria
Alter Table Estado
Add Primary Key (Cod_Est)
Alter Table Usuario
Add Foreign Key (Cod_Est)
References Estado
Llave primaria
Alter Table Usuario
Add Primary Key (Cod_Usua)
Constraint : Foreign Key
Constraint : Permitir valores NULL
• La nulabilidad de una columna determina si las
filas de una tabla pueden contener un valor NULL
en esa columna.
• Un valor NULL no es lo mismo que cero (0), en
blanco o que una cadena de caracteres de
longitud cero, como "".
• NULL significa que no hay ninguna entrada. La
presencia de un valor NULL suele implicar que el
valor es desconocido o no está definido.
Constraint : Permitir valores NULL
• Por defecto todo DATO ES OBLIGATORIO.
• Se pueden actualizar los datos (null) en otro momento
de la edición.
• ¿Qué dato me puede faltar cuando registro una fila
nueva?
ID_DISTRITO NOM_DISTRITO CAT_DISTRITO
L01 CERCADO DE LIMA B
L02 LA VICTORIA (null)
L03 LINCE (null)
ENTIDAD : DISTRITOS
Constraint : UNIQUE
• Puede utilizar restricciones UNIQUE para garantizar que
no se escriben valores duplicados en columnas
específicas que no forman parte de una clave principal.
• En una tabla se pueden definir varias restricciones
UNIQUE, pero sólo una restricción PRIMARY KEY.
• Además, a diferencia de las restricciones PRIMARY
KEY, las restricciones UNIQUE admiten valores NULL.
Sin embargo, de la misma forma que cualquier valor
incluido en una restricción UNIQUE, sólo se admite un
valor NULL por columna.
Constraint : UNIQUE
SIMPLE COMPUESTO
ID_DISTRITO
DIS_NOMBRE
L01 CERCADO DE LIMA
L02 LA VICTORIA
L03 LINCE
UN_DISNOMBRE
Tabla: DISTRITOS
ID_DISTRITO
ID_CLIENTE
L01 808098
L01 808099
L03 808098
Tabla : CLIENTESXDISTRITOS
UN_DISTRITO_CLIENTE
Constraint : DEFAULT
• Se asigna un valor predeterminado a la columna.
• En caso de dejarse vacía al momento de la creación
de la fila se registra dicho valor.
DF_CERO : Si no se registra un
valor para un precio este será 0
(CERO).
Constraint : CHECK
• Las restricciones CHECK exigen la integridad del dominio
mediante la limitación de los valores que puede aceptar una
columna a partir de una expresión lógica que no se basa en
datos de otra columna.
• Algunas columnas tienen un rango de valores válidos.
• Este rango puede ser un conjunto de valores estáticos :
(‘MASCULINO’,’FEMENINO’)
• Este rango puede ser una condición de validez :
=,<,>,>=,<=.
• Este rango puede tener relación con otras entidades.
Constraint : CHECK
• Si la cantidad que se vende debe ser siempre
mayor que 0, pero menor que 100:
• Expresión en Transact/SQL:
(Fac_Cantidad > 0 and Fac_Cantidad < 100)
ID_FACTURA FAC_CANTIDAD
001-5698 4
001-5699 20
001-5700 1
ENTIDAD : FACTURAS
IDENTITY
• Columna se convierte en un correlativo automático.
• Debe ser de tipo numérico entero.
• Es una columna de solo lectura.
• Una entidad puede tener solo una columna Identidad.
• En algunos casos puede coincidir con el PRIMARY KEY.
IDENTITY
Debe tener un Valor Inicial y un. Incremento
ID_VENTAS VEN_FECHA VEN_MONTO
5 01/08/2000 8900,00
10 02/08/2000 780,00
15 02/08/2000 450,00
Tabla: REGISTROVENTAS
IDENTIDAD : 5 : 5 (Inicio e Incremento)
ACTIVIDADES A
DESARROLLAR
Página 45 del manual
Actividad:
1. Cree la base de datos BD_VENTAS.
2. Cree las tablas especificando adecuadamente el tipo de datos para cada
campo, si es NULL o NOT NULL, llaves primarias y llaves foráneas.
3. Crees las restricciones establecidas en la actividad.
Manual Descriptivo de Micrososft SQL Server 2008. Ejercicios propuestos
Actividad: Crear la BD_GAMARRA
1. Cree la base de datos BD_GAMARRA.
2. Cree las tablas especificando adecuadamente el tipo de datos para cada
campo, si es NULL o NOT NULL, llaves primarias y llaves foráneas.
3. Todos los atributos fechas deben tener un valor mayor o igual a la fecha
actual.
4. El campo CANT_VEN de la tabla DETALLEFACTURA debe permitir
valores mayores a cero.
5. El campo STOC_PREN debe permitir valores entre 1 y 8000.
6. El campo UNID_MED_MAT debe tener un valor por defecto “centímetros”
7. El campo TIP_MAT debe permitir los valores “tocuyo” o “licra”.
BD_GAMARRA
Para recordar
• Una tabla es una colección de datos sobre una entidad
específica, que tiene un número discreto de atributos
designados.
• Para crear una Tabla utilizamos sintaxis DDL:
Create Table, Alter Table, Drop Table
• Las relaciones sirven para poder utilizar datos
procedentes de otras tablas como si formaran parte de
la tabla en la que se esté trabajando.
• Una restricción consiste en la definición de una
característica adicional que tiene una columna o una
combinación de columnas
• Las restricciones son:
Primary Key, Foreign Key, Unique, Check, Null
43
FIN DE LA SESION
Gracias....

Más contenido relacionado

PPTX
Tablas y tipos de datos
PPTX
Diapositivas de tablas y tipos de datos
PPTX
Fundamentos de BD - Unidad 6 lenguaje sql
PDF
BD cap 5 SQL.pdf
PDF
TODO SOBRE BASE DE DATOS CON MICROSOFT SQL SERVER
PDF
04-SQLBuenaPresentaciónyConceptos.pdf
PDF
04-SQL.pdf
PDF
DDL oracle - base de datos
Tablas y tipos de datos
Diapositivas de tablas y tipos de datos
Fundamentos de BD - Unidad 6 lenguaje sql
BD cap 5 SQL.pdf
TODO SOBRE BASE DE DATOS CON MICROSOFT SQL SERVER
04-SQLBuenaPresentaciónyConceptos.pdf
04-SQL.pdf
DDL oracle - base de datos

Similar a Manual Descriptivo de Micrososft SQL Server 2008. Ejercicios propuestos (20)

PDF
Resumen-UT2-Creacion-de-bases-de-datos-relacionales.pdf
PPTX
base de datos ppPPPPPPPPPPPPPPPPPPPPPPPPPPt.pptx
PDF
Guía de Sql - Lissette Torrealba
PDF
Unidad IV SQL
PPT
creacion de basse de datos para alumnos de unidep en sistamas portales
PPT
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
PPT
Sql presentacion
PPTX
SQL-BASES FUNDAMENTOS EN PROGRAMACI.pptx
PPTX
TABLAS Y TIPOS DE DATOS
PPT
DDL - Lenguaje de definición de datos
PDF
Database admonfundamental itprosdc_chapter2
PPTX
TABLAS Y TIPOS DE DATOS
PPTX
Tablas y tipos de datos
PPT
Ddl-Lenguaje de definición de datos
PDF
Capitulo2 sql bd-relacionales
PDF
Guia n7 lenguaje de definicion de datos en sql server 2012
PDF
5 modelo relacional
DOCX
Base de datos en sql
PDF
Bases-de-Datos-Relacionales-Fundamentos-y-Principios- prueba (1).pdf
PPTX
TABLAS Y TIPOS DE DATOS
Resumen-UT2-Creacion-de-bases-de-datos-relacionales.pdf
base de datos ppPPPPPPPPPPPPPPPPPPPPPPPPPPt.pptx
Guía de Sql - Lissette Torrealba
Unidad IV SQL
creacion de basse de datos para alumnos de unidep en sistamas portales
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Sql presentacion
SQL-BASES FUNDAMENTOS EN PROGRAMACI.pptx
TABLAS Y TIPOS DE DATOS
DDL - Lenguaje de definición de datos
Database admonfundamental itprosdc_chapter2
TABLAS Y TIPOS DE DATOS
Tablas y tipos de datos
Ddl-Lenguaje de definición de datos
Capitulo2 sql bd-relacionales
Guia n7 lenguaje de definicion de datos en sql server 2012
5 modelo relacional
Base de datos en sql
Bases-de-Datos-Relacionales-Fundamentos-y-Principios- prueba (1).pdf
TABLAS Y TIPOS DE DATOS

Más de PaulDelgadoSoto (6)

PPTX
Programacion Orientada a Objetos en LP Java
PPT
Programacion Orientada a Objetos en LP Java
PPT
El lenguaje de programacion C++ - Entorno de prog
PPT
Introduccion al Lenguaje de Programación C++
PPT
Operadores en ek Lenguaje de ProgramacionC.ppt
PDF
06 Introducción a las Redes: Conceptos, Historia, Topologías, Tipos y Compone...
Programacion Orientada a Objetos en LP Java
Programacion Orientada a Objetos en LP Java
El lenguaje de programacion C++ - Entorno de prog
Introduccion al Lenguaje de Programación C++
Operadores en ek Lenguaje de ProgramacionC.ppt
06 Introducción a las Redes: Conceptos, Historia, Topologías, Tipos y Compone...

Último (13)

PPTX
ap_presentacion_taller_0620vvvvvvvvvvvvv21.pptx
DOCX
Sistemas Operativos, su importancia y objetivos.
PDF
Funciones de material didáctico para formación
PPTX
DEFENSA DE TESIS RIDER DUARTE año 2025..
PPTX
TAREA PRÁCTICA DE LA UNIVERSIDAD BOLIBARIANA DEL ECUADOR
PPTX
PropuestaPasantiayTFG para almunado de electronica de potencia
PPTX
MOVILIZACION Y TRANSPORTE DEL ADULTO MAYOR-1.pptx
PDF
awwwwwwwwwwwwwwwwwwwwwwwwaeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
PPTX
Presentation 4 hipermesis Gravidica ptrt
PPTX
Clase Gramineas.pptx......................
PPTX
Emergencias-y-Urgencias-Medicas.pptx....
PDF
27.-PRESENTACION-SALUD-NUTRICIONAL-EN-LOS-TRABAJADORES.pdf
PPTX
def2025SEMILLERO DE INVESTIGACION TRAZANDO RUTAS.pptx
ap_presentacion_taller_0620vvvvvvvvvvvvv21.pptx
Sistemas Operativos, su importancia y objetivos.
Funciones de material didáctico para formación
DEFENSA DE TESIS RIDER DUARTE año 2025..
TAREA PRÁCTICA DE LA UNIVERSIDAD BOLIBARIANA DEL ECUADOR
PropuestaPasantiayTFG para almunado de electronica de potencia
MOVILIZACION Y TRANSPORTE DEL ADULTO MAYOR-1.pptx
awwwwwwwwwwwwwwwwwwwwwwwwaeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
Presentation 4 hipermesis Gravidica ptrt
Clase Gramineas.pptx......................
Emergencias-y-Urgencias-Medicas.pptx....
27.-PRESENTACION-SALUD-NUTRICIONAL-EN-LOS-TRABAJADORES.pdf
def2025SEMILLERO DE INVESTIGACION TRAZANDO RUTAS.pptx

Manual Descriptivo de Micrososft SQL Server 2008. Ejercicios propuestos

  • 1. Fundamentos de SQL Server 2008 Curso: Base de Datos (Lab)
  • 2. Logro de la Unidad • Al terminar la unidad, los alumnos construirán una base de datos relacional utilizando el gestor de base de datos SQL – Server 2008 y los comandos del Lenguaje de Definición de Datos (DDL), asegurando la integridad de los datos mediante el empleo de restricciones tomando como caso un proceso de negocio real.
  • 3. Temas a tratar Tema 1: Creación de bases de datos 1. Sentencias DDL para creación de bases de datos. 2. Identificación de los tipos de datos empleados en SQL Server 2008. Tema 2: Restricciones e integridad referencial 1. Creación de tablas e integridad de relación. 2. Implementación de restricciones: •PRIMARY KEY •FOREIGN KEY •CHECK •UNIQUE •DEFAULT
  • 4. Tabla: Definición •Colección de datos sobre una entidad (Persona, Lugar, Cosa) específica, que tiene un número discreto de atributos designados (por ejemplo cantidad o tipo). •Las tablas están en el corazón de SQL Server y del modelo relacional en general.
  • 5. Tabla: Creación •Para crear una tabla debemos especificar : • El nombre que le queremos asignar • El nombre de cada campo • El tipo de dato de cada campo • Características de cada campo •Tener en cuenta el estándar para crear objetos
  • 6. Tabla: Creación • El nombre de la columna debe ser único dentro de la tabla; sin embargo, se puede repetir en otras tablas dentro de la misma base de datos. • El tipo de dato debe ser alguno de los ofrecidos por SQL Server. También se pueden definir tipos de datos de usuario. • Not Null indica que dicha columna requiere la asignación de un valor distinto de ‘null’. Null indica que la columna acepta ‘null’ como un valor. Nombre de tabla Create Table Empleado( Campo Tipo de dato Característica Codigo Char(8) Not Null, Nombre Varchar(30) Not Null, Sexo Char(1) Null )
  • 7. Tabla: Sintaxis DDL 1. CREATE TABLE.- Crea un tabla 2. ALTER TABLE.- Modifica la estructura de una tabla 3. DROP TABLE.- Elimina una tabla y sus datos. Es necesario que la tabla no tenga dependencias asociadas.
  • 8. Tabla: Objeto Sys.Tables • El objeto Sys.Tables y Sys.Objects almacenan en una lista las tablas almacenadas en una base de datos Create Table Empleado( Codigo Char(8) Not Null, Nombre Varchar(30) Not Null, Sexo Char(1) Null ) Sys.Objects Sys.Tables Inserta Elimina Drop Table Empleado
  • 9. Tabla: Modificando su Estructura Para agregar una o varias columnas a una tabla se ejecuta el comando ALTER TABLE. Alter Table Empleado Add Sueldo Numeric(8,2) Null Codigo Nombre Sexo Sueldo Codigo Nombre Sexo
  • 10. Tabla: Modificando su Estructura Para eliminar una o varias columnas a una tabla se ejecuta el comando DROP TABLE. Alter Table Empleado Drop Column Sexo Codigo Nombre Sexo Sueldo Codigo Nombre Sueldo
  • 12. Relaciones entre Tablas Curso: Base de Datos (Lab) Equipo de Profesores del Curso
  • 13. Relaciones entre Tablas • Las relaciones sirven para poder utilizar datos procedentes de otras tablas como si formaran parte de la tabla en la que se esté trabajando. • Establecer una relación entre dos tablas equivale a establecer una unión entre ellas, para poder hacer esto se debe dar una condición muy concreta: en las dos tablas tiene que haber un campo que contenga el mismo dato.
  • 14. Relaciones entre Tablas: 1 a 1 • Se crean si ambas tablas tienen una llave primaria o restricción única. • La clave principal y externa se indican con una llave
  • 15. Relaciones entre Tablas: 1 a M • Una relación de uno a varios sólo se crea si una de las columnas relacionadas es una clave principal o tiene una restricción única . • El lado de la clave principal de una relación de uno a varios se indica con un símbolo de llave, mientras que el lado de la clave externa de una relación se indica con un símbolo de infinito
  • 16. Relaciones entre Tablas: 1 a M • A continuación se muestra una relación de uno a muchos en una relación recursiva. • Un Contrato puede ser la extensión de otro contrato y un contrato puede tener muchas extensiones.
  • 17. Relaciones entre Tablas: M a N DEPARTAMENTOS CONTRATO A nivel físico, una relación “Muchos a Muchos” se representa como 2 relaciones “Uno a Muchos”. m m se registra Fec_Ini_Alq Fec_Fin_Alq MODELO LÓGICO Cod_Edif Cod_Dep Cod_Cont Area_Tot_Dep
  • 18. Relaciones entre Tablas: M a N Se define una tabla intermedia (que une a las relacionadas) la cual tiene una PK (Primary Key) conformada por las columnas PK de las otras dos tablas. MODELO FÍSICO
  • 19. Integridad de Datos Curso: Base de Datos (Lab) Equipo de Profesores del Curso
  • 20. Restricciones BASE DE DATOS Data Base Owner (dbo) Integridad de Datos: Restricción
  • 21. Integridad de Datos: Restricción Una restricción consiste en la definición de una característica adicional que tiene una columna o una combinación de columnas, suelen ser como: • Valores no nulos (campo requerido) • Definición de índice sin duplicados • Definición de clave principal y clave foránea • Definición de validación del dominio de las columnas
  • 22. Integridad de Datos: Restricción Son 7 restricciones o constraint a nivel del motor de base de datos. 1. PRIMARY KEY. Clave Primaria. 2. FOREIGN KEY. Clave externa. 3. UNIQUE. Unicidad de datos. 4. NULL. Valor vacío. 5. DEFAULT. Valor predeterminado. 6. IDENTIDAD. Correlativo automático. 7. CHECK. Alternativa de valores.
  • 23. Constraint: Primary Key • Valor que identifica de manera única a cada FILA • El valor puede ser el de un campo (simple) o la combinación de varios campos (compuesta) • Los campos que identifican al Primary Key deben ser Not Null • Restricción: – No permite valores nulos. – No permite valores duplicados.
  • 24. Constraint : Primary Key ID_DISTRITO NOM_DiSTRITO L01 CERCADO DE LIMA L02 LA VICTORIA L03 LINCE ENTIDAD DISTRITOS • Se define un Primary Key por TABLA • Se puede definir para una o más COLUMNAS • Índice de tipo CLUSTERED: La tabla está ordenada físicamente por su índice
  • 25. Constraint : Foreign Key • Un Foreign Key permite definir una clave externa, que es una columna o combinación de columnas, que se utiliza para establecer y exigir un vínculo entre los datos de dos tablas. • Evidencia una relación física entre dos entidades • En una relación “Uno a Muchos” la llave del lado “Uno” es referenciada desde el lado “Muchos”
  • 26. Constraint : Foreign Key • Antes de registrar un dato en Clientes, debe haber sido registrado en Distritos. • Antes de borrar un dato de Distritos, no debe de existir un dato en Clientes. ID_DISTRITO DIS_NOMBRE L01 CERCADO DE LIMA L02 LA VICTORIA L03 LINCE ID_CLIENTEID_DISTRITO CLI_RAZON 9871899 L01 BIMBO S.A. 9871900 L01 LA FABRIL SRLTDA. 9871901 L02 CREDICORP Tabla DISTRITOS Tabla CLIENTES
  • 27. Llave foránea Llave primaria Alter Table Estado Add Primary Key (Cod_Est) Alter Table Usuario Add Foreign Key (Cod_Est) References Estado Llave primaria Alter Table Usuario Add Primary Key (Cod_Usua) Constraint : Foreign Key
  • 28. Constraint : Permitir valores NULL • La nulabilidad de una columna determina si las filas de una tabla pueden contener un valor NULL en esa columna. • Un valor NULL no es lo mismo que cero (0), en blanco o que una cadena de caracteres de longitud cero, como "". • NULL significa que no hay ninguna entrada. La presencia de un valor NULL suele implicar que el valor es desconocido o no está definido.
  • 29. Constraint : Permitir valores NULL • Por defecto todo DATO ES OBLIGATORIO. • Se pueden actualizar los datos (null) en otro momento de la edición. • ¿Qué dato me puede faltar cuando registro una fila nueva? ID_DISTRITO NOM_DISTRITO CAT_DISTRITO L01 CERCADO DE LIMA B L02 LA VICTORIA (null) L03 LINCE (null) ENTIDAD : DISTRITOS
  • 30. Constraint : UNIQUE • Puede utilizar restricciones UNIQUE para garantizar que no se escriben valores duplicados en columnas específicas que no forman parte de una clave principal. • En una tabla se pueden definir varias restricciones UNIQUE, pero sólo una restricción PRIMARY KEY. • Además, a diferencia de las restricciones PRIMARY KEY, las restricciones UNIQUE admiten valores NULL. Sin embargo, de la misma forma que cualquier valor incluido en una restricción UNIQUE, sólo se admite un valor NULL por columna.
  • 31. Constraint : UNIQUE SIMPLE COMPUESTO ID_DISTRITO DIS_NOMBRE L01 CERCADO DE LIMA L02 LA VICTORIA L03 LINCE UN_DISNOMBRE Tabla: DISTRITOS ID_DISTRITO ID_CLIENTE L01 808098 L01 808099 L03 808098 Tabla : CLIENTESXDISTRITOS UN_DISTRITO_CLIENTE
  • 32. Constraint : DEFAULT • Se asigna un valor predeterminado a la columna. • En caso de dejarse vacía al momento de la creación de la fila se registra dicho valor. DF_CERO : Si no se registra un valor para un precio este será 0 (CERO).
  • 33. Constraint : CHECK • Las restricciones CHECK exigen la integridad del dominio mediante la limitación de los valores que puede aceptar una columna a partir de una expresión lógica que no se basa en datos de otra columna. • Algunas columnas tienen un rango de valores válidos. • Este rango puede ser un conjunto de valores estáticos : (‘MASCULINO’,’FEMENINO’) • Este rango puede ser una condición de validez : =,<,>,>=,<=. • Este rango puede tener relación con otras entidades.
  • 34. Constraint : CHECK • Si la cantidad que se vende debe ser siempre mayor que 0, pero menor que 100: • Expresión en Transact/SQL: (Fac_Cantidad > 0 and Fac_Cantidad < 100) ID_FACTURA FAC_CANTIDAD 001-5698 4 001-5699 20 001-5700 1 ENTIDAD : FACTURAS
  • 35. IDENTITY • Columna se convierte en un correlativo automático. • Debe ser de tipo numérico entero. • Es una columna de solo lectura. • Una entidad puede tener solo una columna Identidad. • En algunos casos puede coincidir con el PRIMARY KEY.
  • 36. IDENTITY Debe tener un Valor Inicial y un. Incremento ID_VENTAS VEN_FECHA VEN_MONTO 5 01/08/2000 8900,00 10 02/08/2000 780,00 15 02/08/2000 450,00 Tabla: REGISTROVENTAS IDENTIDAD : 5 : 5 (Inicio e Incremento)
  • 38. Actividad: 1. Cree la base de datos BD_VENTAS. 2. Cree las tablas especificando adecuadamente el tipo de datos para cada campo, si es NULL o NOT NULL, llaves primarias y llaves foráneas. 3. Crees las restricciones establecidas en la actividad.
  • 40. Actividad: Crear la BD_GAMARRA 1. Cree la base de datos BD_GAMARRA. 2. Cree las tablas especificando adecuadamente el tipo de datos para cada campo, si es NULL o NOT NULL, llaves primarias y llaves foráneas. 3. Todos los atributos fechas deben tener un valor mayor o igual a la fecha actual. 4. El campo CANT_VEN de la tabla DETALLEFACTURA debe permitir valores mayores a cero. 5. El campo STOC_PREN debe permitir valores entre 1 y 8000. 6. El campo UNID_MED_MAT debe tener un valor por defecto “centímetros” 7. El campo TIP_MAT debe permitir los valores “tocuyo” o “licra”.
  • 42. Para recordar • Una tabla es una colección de datos sobre una entidad específica, que tiene un número discreto de atributos designados. • Para crear una Tabla utilizamos sintaxis DDL: Create Table, Alter Table, Drop Table • Las relaciones sirven para poder utilizar datos procedentes de otras tablas como si formaran parte de la tabla en la que se esté trabajando. • Una restricción consiste en la definición de una característica adicional que tiene una columna o una combinación de columnas • Las restricciones son: Primary Key, Foreign Key, Unique, Check, Null
  • 43. 43 FIN DE LA SESION Gracias....