SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
Microsoft SQL Server Básico
Aprende haciendo
Creación de tablas
y
definición de la integridad de datos
® Derechos reservados www.isil.edu.pe 1
definición de la integridad de datos
Ing. Eric Gustavo Coronel Castillo
http://www.facebook.com/gcoronelc
http://gcoronelc.blogspot.com
gcoronelc@gmail.com
Índice
Tipos de Datos
Creación de Tablas
Restricciones de Integridad: de entidad, de dominio y referencial
Implementación de Restricciones: PRIMARY KEY, FOREIGN KEY,
UNIQUE, DEFAULT, CHECK
Modificar de la Definición de una Tabla
I S I L Ing. Eric Gustavo Coronel Castillo
® Derechos reservados www.isil.pe 2
Tipos de Datos
CATEGORIAS
Numéricos exactos
Numéricos aproximados
Fecha y hora
Cadenas de caracteres No Unicode
Cadenas de caracteres Unicode
I S I L Ing. Eric Gustavo Coronel Castillo
® Derechos reservados www.isil.pe
Cadenas de caracteres Unicode
Cadenas binarias
Otros tipos de datos
3
Tipos de Datos
Numéricos exactos
bigint 8 bytes
bit 1, 0 o NULL
decimal(p,s) Depende de la presición (p)
int 4 bytes
money 8 bytes
I S I L Ing. Eric Gustavo Coronel Castillo
® Derechos reservados www.isil.pe
money 8 bytes
numeric(p,s) Depende de la presición (p)
smallint 2 bytes
smallmoney 4 bytes
tinyint 1 byte
4
Tipos de Datos
Numéricos aproximados
float[(n)] Depende del valor de n.
real 4 bytes
Fecha y hora
I S I L Ing. Eric Gustavo Coronel Castillo
® Derechos reservados www.isil.pe
date de 0001-01-01 a 9999-12-31 3 bytes
datetime de 1753-01-01 a 9999-12-31 8 bytes
datetime2(n) 0001-01-01 a 9999-12-31 de 6 a 8 bytes
datetimeoffset(n) Fecha, hora y desplazamiento de 8 a 10 bytes
smalldatetime 1900-01-01 a 2079-06-06 4 bytes
time(n) HH:MI:SS[.nnnnnnn] de 3 a 5 bytes
5
Tipos de Datos
Cadenas de caracteres NO UNICODE
char(n) De longitud fija hasta 8.000 caracteres.
varchar(n) De longitud variable hasta 8.000 caracteres.
text De longitud variable hasta 2.147.483.647 caracteres.
Cadenas de caracteres UNICODE
I S I L Ing. Eric Gustavo Coronel Castillo
® Derechos reservados www.isil.pe
Cadenas de caracteres UNICODE
nchar(n) De longitud fija hasta 4.000 caracteres.
nvarchar(n) De longitud variable hasta 4.000 caracteres.
ntext De longitud variable 1.073.741.823 caracteres.
6
Tipos de Datos
Cadenas binarias
binary[(n)] De longitud fija hasta 8.000 bytes.
varbinary[(n)] De longitud variable hasta 8.000 bytes.
image De longitud variable hasta 2.147.483.647 bytes.
Otros tipos de datos
cursor
I S I L Ing. Eric Gustavo Coronel Castillo
® Derechos reservados www.isil.pe
cursor
Un tipo de datos para las variables o para los parámetros de resultado de los
procedimientos almacenados que contiene una referencia a un cursor.
table
Es un tipo de datos especial que se puede utilizar para almacenar un
conjunto de resultados para su procesamiento posterior. table se utiliza
principalmente para el almacenamiento temporal de un conjunto de filas
devuelto como el conjunto de resultados de una función con valores de tabla.
xml ( [ CONTENT | DOCUMENT ] xml_schema_collection )
Es el tipo de datos que almacena datos de XML. Puede almacenar instancias
de xml en una columna o una variable de tipo xml.
7
Creación de Tablas
SINTAXIS
CREATE TABLE table_name (
{ < column_definition > | < table_constraint > } [ ,...n ]
)
< column_definition > ::=
I S I L Ing. Eric Gustavo Coronel Castillo
® Derechos reservados www.isil.pe
< column_definition > ::=
{ column_name data_type }
[ { DEFAULT constant_expression
| [ IDENTITY [ ( seed , increment ) ] ]
} ]
[ ROWGUIDCOL ]
[ < column_constraint > [ ...n ] ]
8
Creación de Tablas
USE tienda
GO
CREATE TABLE maestros.articulo(
art_id INT NOT NULL IDENTITY(1,1),
art_nombre VARCHAR(100) NOT NULL,
art_pre_costo MONEY NOT NULL,
I S I L Ing. Eric Gustavo Coronel Castillo
® Derechos reservados www.isil.pe
art_pre_costo MONEY NOT NULL,
art_pre_venta MONEY NOT NULL,
art_stock INT NOT NULL
)
GO
9
Restricciones de Integridad
Definición de Integridad
La Integridad es el término utilizado para decir que la información
almacenada tiene calidad. El DBMS debe asegurar que los datos se
almacenan de acuerdo a las políticas previamente determinadas por el
DBA.
En otras palabras, el DBMS debe principalmente, a este respecto,
I S I L Ing. Eric Gustavo Coronel Castillo
® Derechos reservados www.isil.pe
En otras palabras, el DBMS debe principalmente, a este respecto,
comprobar las restricciones de integridad, controlar la correcta
ejecución de las actualizaciones y recuperar la base de datos en caso
de pérdida.
Un control de integridad o restricción es aquel que nos permite definir
con precisión el rango de valores válidos para un elemento y/o las
operaciones que serán consideradas válidas en la relación de tales
elementos.
10
Restricciones de Integridad
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 primaria de una tabla, mediante índices y
restricciones UNIQUE, o restricciones PRIMARY KEY.
I S I L Ing. Eric Gustavo Coronel Castillo
® Derechos reservados www.isil.pe
restricciones UNIQUE, o restricciones PRIMARY KEY.
11
Restricciones de Integridad
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
I S I L Ing. Eric Gustavo Coronel Castillo
® Derechos reservados www.isil.pe
restricciones CHECK, definiciones DEFAULT, definiciones NOT NULL y
reglas.
12
Restricciones de Integridad
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 foráneas y claves
primarias, mediante restricciones FOREIGN KEY.
La integridad referencial garantiza que los valores de clave sean
I S I L Ing. Eric Gustavo Coronel Castillo
® Derechos reservados www.isil.pe
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.
13
Restricciones de Integridad
Integridad Referencial
ClienteId Nombre Email
C1001 Sergio Matsukawa Maeda smatsukawa@isil.pe
C1002 Hugo Valencia Morales hvalencia@terra.com.pe
C1003 Gustavo Coronel Castillo gcoronelc@gmail.com
C1004 Ricardo Marcelo Villalobos ricardomarcelo@hotmail.com
Tabla: Cliente
I S I L Ing. Eric Gustavo Coronel Castillo
® Derechos reservados www.isil.pe 14
Tabla: Pedido PedidoId Fecha ClienteId Importe
1001 04/Ene/2011 C1002 5,000.00
1002 15/Ene/2011 C1001 10,000.00
1003 13/Feb/2011 C1004 8,500.00
1004 07/Mar/2011 C1001 7,400.00
ClienteId en la
tabla Pedido es
una Clave Foránea.
Implementación de Restricciones
Nivel de Integridad Tipo de
Restricción
Descripción
Dominio
(columna)
DEFAULT Especifica el valor que se mantendrá para la columna
cuando un valor no se ha ingresado explícitamente en
una sentencia INSERT.
CHECK Especifica los valores de los datos que son aceptables en
la columna.
Entidad
(fila)
PRIMARY KEY Identifica cada registro o fila como única. Se crea un
índice para mejorar el rendimiento. Los valores nulos no
I S I L Ing. Eric Gustavo Coronel Castillo
® Derechos reservados www.isil.pe 15
(fila) índice para mejorar el rendimiento. Los valores nulos no
son permitidos.
UNIQUE Previene la duplicación de las llaves alternas, y se
asegura que un índice se crea para que mejore el
rendimiento. Se permiten valores nulos.
Referencial
(relación)
FOREIGN KEY Define la columna o combinación de columnas de una
tabla secundaria, cuyos valores dependen de la llave
primaria de una tabla primaria.
Implementación de Restricciones
CREATE TABLE maestros.articulo(
art_id INT NOT NULL IDENTITY(1,1),
art_nombre VARCHAR(100) NOT NULL,
art_pre_costo MONEY NOT NULL,
art_pre_venta MONEY NOT NULL,
art_stock INT NOT NULL
CONSTRAINT df_articulo_stock
DEFAULT 0,
CONSTRAINT pk_articulo
I S I L Ing. Eric Gustavo Coronel Castillo
® Derechos reservados www.isil.pe
CONSTRAINT pk_articulo
PRIMARY KEY(art_id),
CONSTRAINT u_articulo_nombre
UNIQUE (art_nombre),
CONSTRAINT chk_articulo_pre_costo
CHECK(art_pre_costo > 0),
CONSTRAINT chk_articulo_pre_venta
CHECK(art_pre_venta > art_pre_costo)
)
GO
16
Implementación de Restricciones
CREATE TABLE Cliente(
ClienteId CHAR(5) NOT NULL
CONSTRAINT pk_cliente PRIMARY KEY,
Nombre VARCHAR(100) NOT NULL
CONSTRAINT u_cliente_nombre UNIQUE,
Email VARCHAR(100) NOT NULL
CONSTRAINT u_cliente_email UNIQUE
)
GO
CREATE TABLE Pedido(
PedidoId INT NOT NULL IDENTITY(1000,1)
I S I L Ing. Eric Gustavo Coronel Castillo
® Derechos reservados www.isil.pe
PedidoId INT NOT NULL IDENTITY(1000,1)
CONSTRAINT pk_pedido PRIMARY KEY,
Fecha DATE NOT NULL,
ClienteId CHAR(5) NOT NULL,
Importe MONEY NOT NULL
CONSTRAINT chk_pedido_importe CHECK(Importe>0),
CONSTRAINT fk_pedido_cliente
FOREIGN KEY (ClienteId)
REFERENCES Cliente
ON DELETE NO ACTION
ON UPDATE NO ACTION
)
GO
17
Modificar de la Definición de una Tabla
ALTER TABLE [ database_name . ] [ schema_name . ] table_name {
ALTER COLUMN column_name
type_name [ ( precision [ , scale ] ) ]
[ NULL | NOT NULL ]
[ WITH { CHECK | NOCHECK } ]
| ADD
{
I S I L Ing. Eric Gustavo Coronel Castillo
® Derechos reservados www.isil.pe
{
<column_definition>
| <table_constraint>
} [ ,...n ]
| DROP
{
[ CONSTRAINT ] constraint_name
| COLUMN column_name
} [ ,...n ]
18
Modificar de la Definición de una Tabla
ALTER TABLE maestros.articulo
ADD art_porc_ganancia INT NOT NULL
CONSTRAINT df_articulo_porc_ganancia
DEFAULT 0
GO
I S I L Ing. Eric Gustavo Coronel Castillo
® Derechos reservados www.isil.pe 19

Más contenido relacionado

La actualidad más candente

MANUAL COMPLETO DE SQL
MANUAL COMPLETO DE SQLMANUAL COMPLETO DE SQL
MANUAL COMPLETO DE SQLEdgar Sandoval
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos josecuartas
 
DDL - Lenguaje de definición de datos
DDL - Lenguaje de definición de datosDDL - Lenguaje de definición de datos
DDL - Lenguaje de definición de datosvargasaldanajohanna
 
4. sql (autoguardado)
4. sql (autoguardado)4. sql (autoguardado)
4. sql (autoguardado)felpe33
 
2. creación de tablas 2007
2. creación de tablas 20072. creación de tablas 2007
2. creación de tablas 2007yenifer1995
 
Microsoft sql server
Microsoft sql serverMicrosoft sql server
Microsoft sql serverDeisyVilchez
 
Breve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQLBreve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQLTotus Muertos
 
Generación de Interfaces a partir de XML
Generación de Interfaces a partir de XMLGeneración de Interfaces a partir de XML
Generación de Interfaces a partir de XMLJose Benítez Andrades
 
Sql comamdo
Sql comamdoSql comamdo
Sql comamdodmonges
 
Sql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datosSql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datosjosecuartas
 

La actualidad más candente (17)

MANUAL COMPLETO DE SQL
MANUAL COMPLETO DE SQLMANUAL COMPLETO DE SQL
MANUAL COMPLETO DE SQL
 
Introducción a sql
Introducción a  sqlIntroducción a  sql
Introducción a sql
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos
 
Clase 1 Modelo Físico de Base de Datos
Clase 1 Modelo Físico de Base de DatosClase 1 Modelo Físico de Base de Datos
Clase 1 Modelo Físico de Base de Datos
 
D49996 cs10 51_e
D49996 cs10 51_eD49996 cs10 51_e
D49996 cs10 51_e
 
DDL - Lenguaje de definición de datos
DDL - Lenguaje de definición de datosDDL - Lenguaje de definición de datos
DDL - Lenguaje de definición de datos
 
4. sql (autoguardado)
4. sql (autoguardado)4. sql (autoguardado)
4. sql (autoguardado)
 
Manual practicosql
Manual practicosqlManual practicosql
Manual practicosql
 
2. creación de tablas 2007
2. creación de tablas 20072. creación de tablas 2007
2. creación de tablas 2007
 
Consultas sql
Consultas sqlConsultas sql
Consultas sql
 
Microsoft sql server
Microsoft sql serverMicrosoft sql server
Microsoft sql server
 
Breve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQLBreve resumen sobre consultas básicas en MySQL
Breve resumen sobre consultas básicas en MySQL
 
Generación de Interfaces a partir de XML
Generación de Interfaces a partir de XMLGeneración de Interfaces a partir de XML
Generación de Interfaces a partir de XML
 
Sql comamdo
Sql comamdoSql comamdo
Sql comamdo
 
Introducción a sql server
Introducción a sql serverIntroducción a sql server
Introducción a sql server
 
Sql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datosSql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datos
 
Presentación1
Presentación1Presentación1
Presentación1
 

Similar a Sql 04 tablas

Integridad
IntegridadIntegridad
Integridad99909
 
ManualPracticoSQL.pdf
ManualPracticoSQL.pdfManualPracticoSQL.pdf
ManualPracticoSQL.pdfJenny29068
 
Investigacion alter, create y integridad referencial
Investigacion alter, create y integridad referencialInvestigacion alter, create y integridad referencial
Investigacion alter, create y integridad referencial500y
 
Manual practico para sql ingieneria de sistemas
Manual practico para sql ingieneria de sistemas  Manual practico para sql ingieneria de sistemas
Manual practico para sql ingieneria de sistemas Crhis
 
Manual practico SQL
Manual practico SQLManual practico SQL
Manual practico SQLAna Aguirre
 
04-SQLBuenaPresentaciónyConceptos.pdf
04-SQLBuenaPresentaciónyConceptos.pdf04-SQLBuenaPresentaciónyConceptos.pdf
04-SQLBuenaPresentaciónyConceptos.pdfssuser78e8eb
 
OVA DISEÑO ORACLE Introducción Bases de Datos .pptx
OVA DISEÑO ORACLE Introducción Bases de Datos .pptxOVA DISEÑO ORACLE Introducción Bases de Datos .pptx
OVA DISEÑO ORACLE Introducción Bases de Datos .pptxMARGOTHLORENAMARTINE
 
Manejo De Sentencias De Definicion
Manejo De Sentencias De DefinicionManejo De Sentencias De Definicion
Manejo De Sentencias De DefinicionSergio Perez
 
Características avanzadas de SQL.pptx
Características avanzadas de SQL.pptxCaracterísticas avanzadas de SQL.pptx
Características avanzadas de SQL.pptxMairaSantacruz2
 
Tablas y tipos de datos
Tablas y tipos de datosTablas y tipos de datos
Tablas y tipos de datosSuarezJhon
 

Similar a Sql 04 tablas (20)

Restricciones bd
Restricciones bdRestricciones bd
Restricciones bd
 
INTEGRIDAD DE DATOS
INTEGRIDAD DE DATOSINTEGRIDAD DE DATOS
INTEGRIDAD DE DATOS
 
Integridad
IntegridadIntegridad
Integridad
 
ManualPracticoSQL.pdf
ManualPracticoSQL.pdfManualPracticoSQL.pdf
ManualPracticoSQL.pdf
 
Investigacion alter, create y integridad referencial
Investigacion alter, create y integridad referencialInvestigacion alter, create y integridad referencial
Investigacion alter, create y integridad referencial
 
Manual practico para sql ingieneria de sistemas
Manual practico para sql ingieneria de sistemas  Manual practico para sql ingieneria de sistemas
Manual practico para sql ingieneria de sistemas
 
Manual practico SQL
Manual practico SQLManual practico SQL
Manual practico SQL
 
Manual practicosql
Manual practicosqlManual practicosql
Manual practicosql
 
Manual practico SQL
Manual practico SQLManual practico SQL
Manual practico SQL
 
Manual practico-sql
Manual practico-sqlManual practico-sql
Manual practico-sql
 
04-SQL.pdf
04-SQL.pdf04-SQL.pdf
04-SQL.pdf
 
04-SQLBuenaPresentaciónyConceptos.pdf
04-SQLBuenaPresentaciónyConceptos.pdf04-SQLBuenaPresentaciónyConceptos.pdf
04-SQLBuenaPresentaciónyConceptos.pdf
 
OVA DISEÑO ORACLE Introducción Bases de Datos .pptx
OVA DISEÑO ORACLE Introducción Bases de Datos .pptxOVA DISEÑO ORACLE Introducción Bases de Datos .pptx
OVA DISEÑO ORACLE Introducción Bases de Datos .pptx
 
Manejo De Sentencias De Definicion
Manejo De Sentencias De DefinicionManejo De Sentencias De Definicion
Manejo De Sentencias De Definicion
 
Características avanzadas de SQL.pptx
Características avanzadas de SQL.pptxCaracterísticas avanzadas de SQL.pptx
Características avanzadas de SQL.pptx
 
Tablas y tipos de datos
Tablas y tipos de datosTablas y tipos de datos
Tablas y tipos de datos
 
TODO SOBRE SQL
TODO SOBRE SQLTODO SOBRE SQL
TODO SOBRE SQL
 
Tema3
Tema3Tema3
Tema3
 
Sql
SqlSql
Sql
 
Unidad IV SQL
Unidad IV SQLUnidad IV SQL
Unidad IV SQL
 

Último

Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 

Último (20)

Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 

Sql 04 tablas

  • 1. Microsoft SQL Server Básico Aprende haciendo Creación de tablas y definición de la integridad de datos ® Derechos reservados www.isil.edu.pe 1 definición de la integridad de datos Ing. Eric Gustavo Coronel Castillo http://www.facebook.com/gcoronelc http://gcoronelc.blogspot.com gcoronelc@gmail.com
  • 2. Índice Tipos de Datos Creación de Tablas Restricciones de Integridad: de entidad, de dominio y referencial Implementación de Restricciones: PRIMARY KEY, FOREIGN KEY, UNIQUE, DEFAULT, CHECK Modificar de la Definición de una Tabla I S I L Ing. Eric Gustavo Coronel Castillo ® Derechos reservados www.isil.pe 2
  • 3. Tipos de Datos CATEGORIAS Numéricos exactos Numéricos aproximados Fecha y hora Cadenas de caracteres No Unicode Cadenas de caracteres Unicode I S I L Ing. Eric Gustavo Coronel Castillo ® Derechos reservados www.isil.pe Cadenas de caracteres Unicode Cadenas binarias Otros tipos de datos 3
  • 4. Tipos de Datos Numéricos exactos bigint 8 bytes bit 1, 0 o NULL decimal(p,s) Depende de la presición (p) int 4 bytes money 8 bytes I S I L Ing. Eric Gustavo Coronel Castillo ® Derechos reservados www.isil.pe money 8 bytes numeric(p,s) Depende de la presición (p) smallint 2 bytes smallmoney 4 bytes tinyint 1 byte 4
  • 5. Tipos de Datos Numéricos aproximados float[(n)] Depende del valor de n. real 4 bytes Fecha y hora I S I L Ing. Eric Gustavo Coronel Castillo ® Derechos reservados www.isil.pe date de 0001-01-01 a 9999-12-31 3 bytes datetime de 1753-01-01 a 9999-12-31 8 bytes datetime2(n) 0001-01-01 a 9999-12-31 de 6 a 8 bytes datetimeoffset(n) Fecha, hora y desplazamiento de 8 a 10 bytes smalldatetime 1900-01-01 a 2079-06-06 4 bytes time(n) HH:MI:SS[.nnnnnnn] de 3 a 5 bytes 5
  • 6. Tipos de Datos Cadenas de caracteres NO UNICODE char(n) De longitud fija hasta 8.000 caracteres. varchar(n) De longitud variable hasta 8.000 caracteres. text De longitud variable hasta 2.147.483.647 caracteres. Cadenas de caracteres UNICODE I S I L Ing. Eric Gustavo Coronel Castillo ® Derechos reservados www.isil.pe Cadenas de caracteres UNICODE nchar(n) De longitud fija hasta 4.000 caracteres. nvarchar(n) De longitud variable hasta 4.000 caracteres. ntext De longitud variable 1.073.741.823 caracteres. 6
  • 7. Tipos de Datos Cadenas binarias binary[(n)] De longitud fija hasta 8.000 bytes. varbinary[(n)] De longitud variable hasta 8.000 bytes. image De longitud variable hasta 2.147.483.647 bytes. Otros tipos de datos cursor I S I L Ing. Eric Gustavo Coronel Castillo ® Derechos reservados www.isil.pe cursor Un tipo de datos para las variables o para los parámetros de resultado de los procedimientos almacenados que contiene una referencia a un cursor. table Es un tipo de datos especial que se puede utilizar para almacenar un conjunto de resultados para su procesamiento posterior. table se utiliza principalmente para el almacenamiento temporal de un conjunto de filas devuelto como el conjunto de resultados de una función con valores de tabla. xml ( [ CONTENT | DOCUMENT ] xml_schema_collection ) Es el tipo de datos que almacena datos de XML. Puede almacenar instancias de xml en una columna o una variable de tipo xml. 7
  • 8. Creación de Tablas SINTAXIS CREATE TABLE table_name ( { < column_definition > | < table_constraint > } [ ,...n ] ) < column_definition > ::= I S I L Ing. Eric Gustavo Coronel Castillo ® Derechos reservados www.isil.pe < column_definition > ::= { column_name data_type } [ { DEFAULT constant_expression | [ IDENTITY [ ( seed , increment ) ] ] } ] [ ROWGUIDCOL ] [ < column_constraint > [ ...n ] ] 8
  • 9. Creación de Tablas USE tienda GO CREATE TABLE maestros.articulo( art_id INT NOT NULL IDENTITY(1,1), art_nombre VARCHAR(100) NOT NULL, art_pre_costo MONEY NOT NULL, I S I L Ing. Eric Gustavo Coronel Castillo ® Derechos reservados www.isil.pe art_pre_costo MONEY NOT NULL, art_pre_venta MONEY NOT NULL, art_stock INT NOT NULL ) GO 9
  • 10. Restricciones de Integridad Definición de Integridad La Integridad es el término utilizado para decir que la información almacenada tiene calidad. El DBMS debe asegurar que los datos se almacenan de acuerdo a las políticas previamente determinadas por el DBA. En otras palabras, el DBMS debe principalmente, a este respecto, I S I L Ing. Eric Gustavo Coronel Castillo ® Derechos reservados www.isil.pe En otras palabras, el DBMS debe principalmente, a este respecto, comprobar las restricciones de integridad, controlar la correcta ejecución de las actualizaciones y recuperar la base de datos en caso de pérdida. Un control de integridad o restricción es aquel que nos permite definir con precisión el rango de valores válidos para un elemento y/o las operaciones que serán consideradas válidas en la relación de tales elementos. 10
  • 11. Restricciones de Integridad 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 primaria de una tabla, mediante índices y restricciones UNIQUE, o restricciones PRIMARY KEY. I S I L Ing. Eric Gustavo Coronel Castillo ® Derechos reservados www.isil.pe restricciones UNIQUE, o restricciones PRIMARY KEY. 11
  • 12. Restricciones de Integridad 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 I S I L Ing. Eric Gustavo Coronel Castillo ® Derechos reservados www.isil.pe restricciones CHECK, definiciones DEFAULT, definiciones NOT NULL y reglas. 12
  • 13. Restricciones de Integridad 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 foráneas y claves primarias, mediante restricciones FOREIGN KEY. La integridad referencial garantiza que los valores de clave sean I S I L Ing. Eric Gustavo Coronel Castillo ® Derechos reservados www.isil.pe 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. 13
  • 14. Restricciones de Integridad Integridad Referencial ClienteId Nombre Email C1001 Sergio Matsukawa Maeda smatsukawa@isil.pe C1002 Hugo Valencia Morales hvalencia@terra.com.pe C1003 Gustavo Coronel Castillo gcoronelc@gmail.com C1004 Ricardo Marcelo Villalobos ricardomarcelo@hotmail.com Tabla: Cliente I S I L Ing. Eric Gustavo Coronel Castillo ® Derechos reservados www.isil.pe 14 Tabla: Pedido PedidoId Fecha ClienteId Importe 1001 04/Ene/2011 C1002 5,000.00 1002 15/Ene/2011 C1001 10,000.00 1003 13/Feb/2011 C1004 8,500.00 1004 07/Mar/2011 C1001 7,400.00 ClienteId en la tabla Pedido es una Clave Foránea.
  • 15. Implementación de Restricciones Nivel de Integridad Tipo de Restricción Descripción Dominio (columna) DEFAULT Especifica el valor que se mantendrá para la columna cuando un valor no se ha ingresado explícitamente en una sentencia INSERT. CHECK Especifica los valores de los datos que son aceptables en la columna. Entidad (fila) PRIMARY KEY Identifica cada registro o fila como única. Se crea un índice para mejorar el rendimiento. Los valores nulos no I S I L Ing. Eric Gustavo Coronel Castillo ® Derechos reservados www.isil.pe 15 (fila) índice para mejorar el rendimiento. Los valores nulos no son permitidos. UNIQUE Previene la duplicación de las llaves alternas, y se asegura que un índice se crea para que mejore el rendimiento. Se permiten valores nulos. Referencial (relación) FOREIGN KEY Define la columna o combinación de columnas de una tabla secundaria, cuyos valores dependen de la llave primaria de una tabla primaria.
  • 16. Implementación de Restricciones CREATE TABLE maestros.articulo( art_id INT NOT NULL IDENTITY(1,1), art_nombre VARCHAR(100) NOT NULL, art_pre_costo MONEY NOT NULL, art_pre_venta MONEY NOT NULL, art_stock INT NOT NULL CONSTRAINT df_articulo_stock DEFAULT 0, CONSTRAINT pk_articulo I S I L Ing. Eric Gustavo Coronel Castillo ® Derechos reservados www.isil.pe CONSTRAINT pk_articulo PRIMARY KEY(art_id), CONSTRAINT u_articulo_nombre UNIQUE (art_nombre), CONSTRAINT chk_articulo_pre_costo CHECK(art_pre_costo > 0), CONSTRAINT chk_articulo_pre_venta CHECK(art_pre_venta > art_pre_costo) ) GO 16
  • 17. Implementación de Restricciones CREATE TABLE Cliente( ClienteId CHAR(5) NOT NULL CONSTRAINT pk_cliente PRIMARY KEY, Nombre VARCHAR(100) NOT NULL CONSTRAINT u_cliente_nombre UNIQUE, Email VARCHAR(100) NOT NULL CONSTRAINT u_cliente_email UNIQUE ) GO CREATE TABLE Pedido( PedidoId INT NOT NULL IDENTITY(1000,1) I S I L Ing. Eric Gustavo Coronel Castillo ® Derechos reservados www.isil.pe PedidoId INT NOT NULL IDENTITY(1000,1) CONSTRAINT pk_pedido PRIMARY KEY, Fecha DATE NOT NULL, ClienteId CHAR(5) NOT NULL, Importe MONEY NOT NULL CONSTRAINT chk_pedido_importe CHECK(Importe>0), CONSTRAINT fk_pedido_cliente FOREIGN KEY (ClienteId) REFERENCES Cliente ON DELETE NO ACTION ON UPDATE NO ACTION ) GO 17
  • 18. Modificar de la Definición de una Tabla ALTER TABLE [ database_name . ] [ schema_name . ] table_name { ALTER COLUMN column_name type_name [ ( precision [ , scale ] ) ] [ NULL | NOT NULL ] [ WITH { CHECK | NOCHECK } ] | ADD { I S I L Ing. Eric Gustavo Coronel Castillo ® Derechos reservados www.isil.pe { <column_definition> | <table_constraint> } [ ,...n ] | DROP { [ CONSTRAINT ] constraint_name | COLUMN column_name } [ ,...n ] 18
  • 19. Modificar de la Definición de una Tabla ALTER TABLE maestros.articulo ADD art_porc_ganancia INT NOT NULL CONSTRAINT df_articulo_porc_ganancia DEFAULT 0 GO I S I L Ing. Eric Gustavo Coronel Castillo ® Derechos reservados www.isil.pe 19