SlideShare una empresa de Scribd logo
Base de Datos I
Ing. Diana López A.
dlopez@ecotec.edu.ec
AGENDA
• LENGUAJE S.Q.L.
• SUB-LENGUAJE D.D.L.
Introducción
El lenguaje SQL (Structured Query Language) es el lenguaje estándar actual para los
sistemas de base de datos relacionales. Fue desarrollado originalmente por IBM a
mediados de la década de los setenta, e implementado por primera vez en un prototipo de
IBM, System R.
En el año 1986, el lenguaje SQL fue propuesto por ANSI (Instituto nacional de
normalización americano) como lenguaje relacional, y fue aceptado en 1987 por ISO como
lenguaje estándar. Versiones posteriores de este lenguaje han aparecido en 1989,1992, y
1999.
En sus orígenes fue un lenguaje de tipo lógico, basado en el calculo relacional ( de tuplas )
de E. F. Cood. Posteriormente fueron incorporados aspectos (operadores) algebraicos.
Introducción
Se puede afirmar que el SQL actual es un hibrido entre el Algebra Relacional y el Cálculo
Relacional (de Tuplas).
El lenguaje SQL proporciona un sublenguaje de Definición de Datos (DDL, Data Definition
Language) y un sublenguaje de Manipulación de Datos (DML, Data Manipulation
Language).
Este lenguaje puede ser utilizado también en modo incrustado (o embebido), es decir, en un
programa escrito en un lenguaje de alto nivel ( C, Java, Visual Basic, etc.).
Lenguaje de Definición de Datos (DDL)
Fundamentos de la Definición de Datos
La estructura básica de una base de datos relacional.
Base de Datos
Catálogos
Esquemas
Tablas
y Vistas
Privilegios
Columnas
La tabla es la unidad básica de gestión de datos en una base de datos relacional en SQL.
El esquema de la tabla está definida por las columnas y sus tipos.
Lenguaje de Definición de Datos (DDL)
Instrucciones – Definición de Tablas
• Una tabla es un objeto de una base de datos que almacena datos en una colección de
filas y columnas. Una tabla se define por las columnas que contiene. Así los datos
pueden organizarse de forma similar a una hoja de cálculo.
• Recordar que una Tabla es lo mismo que una Relación.
• Para definir una tabla se debe decidir qué columnas definir y que tipo de datos, como por
ejemplo datos de caracteres o numéricos, se permite que haya en cada columna.
• También se debe decidir sobre un rango permisible a esos datos – por ejemplo, podría
decidirse permitir hasta 30 caracteres o números de 4 bytes. Estos atributos se
especifican mediante la asignación a cada columna de un tipo de datos, que es un
conjunto de atributos que determinan que tipo y rango de datos puede albergar esa
columna.
Lenguaje de Definición de Datos (DDL)
Instrucciones – Definición de Tablas
La asignación de tipos de datos a una columna fija los siguientes atributos:
 La clase de datos que la columna puede contener, como caracteres, enteros o imagines.
 El tamaño o longitud de los datos de una columna.
 La precisión del número (solo para tipos numéricos) - esto es, el número de dígitos que
puede contener un número.
 La escala del número (sólo para tipos numéricos) – esto es, el número de dígitos que
pueden almacenarse a la derecha del punto decimal.
A continuación se darán a conocer un conjunto de tipos de datos pertenecientes a SQL SERVER.
Cada SGBD posee sus tipos de datos que varían en nombre pero no en conceptos.
Lenguaje de Definición de Datos (DDL)
Instrucciones – Definición de Tablas
Tipos de Datos SQL SERVER:
Numéricos: BIT, INT, SMALLINT, DECIMAL, NUMERIC, MONEY, SMALMONEY, FLOAT.
Fechas: DATETIME, SMALLDATETIME.
String: CHAR, VARCHAR, TEXT, NCHAR, NVARCHAR, NTEXT.
String Binarias : BINARY, VARBINARY, IMAGE.
Lenguaje de Definición de Datos (DDL)
Instrucciones – Definición de Database
Creación de Database
El comando CREATE DATABASE tiene por finalidad crear una nueva base de datos.
Nomenclatura:
Permite crear bases de datos.
CREATE DATABASE database_name;
Permite eliminar bases de datos.
DROP DATABASE database_name
Permite visualizar las bases de datos activas
Show databases;
Lenguaje de Definición de Datos (DDL)
Instrucciones – Definición de Tablas
Creación de Tablas
El comando CREATE TABLE tiene por finalidad crear una nueva tabla en la base de datos.
SQL SERVER permite hasta dos billones de tablas por base de datos y hasta 1024
columnas por tabla. No existe limite para la cantidad de filas por tabla, salvo por el espacio
físico disponible.
Nomenclatura:
CREATE TABLE table_name ( { <column_definition> | column_name as
computed_colum_expression | <table_constraint> } [, …. N] [ON { filegroup | DEFAULT} ] [
TEXTIMAGE_ON {filegroup | DEFAULT ]
Table_name. Es el nombre de la tabla que se va a crear.
<Column_definition>. Especifica el tipo de datos de la columna de la tabla.
Lenguaje de Definición de Datos (DDL)
Instrucciones – Definición de Tablas
Creación de Tablas
Nomenclatura:
CREATE TABLE nombre_tabla (
nombre_atributo1 tipo dato,
nombre_atributo2 tipo_dato,
…………
nombre_atributoN tipo_dato,
)
Ejemplo:
CREATE TABLE demo2(
codigo INT,
nombre char(20),
estado char (2),
)
Conjunto de Atributos con sus
respectivos tipos de datos.
NOTA: Para poder ver las tablas creadas en tu
esquema relacional en SQL SERVER ejecuta el
siguiente comando:
select * from information_schema.tables where
TABLE_TYPE = 'BASE TABLE‘
Para poder ver el detalle de una tabla ejecuta el
siguiente comando:
select * from information_schema.columns
where TABLE_NAME = ‘Nombre_Tabla'
order by table_name
Lenguaje de Definición de Datos (DDL)
Instrucciones – Definición de Tablas
Eliminación de Tablas
Tal como existe una sentencia para crear tablas existe una para borrarlas por completo de
un esquema (schema, este se define por lo nombres de usuarios definidos para la base de
datos).
Nomenclatura:
DROP TABLE nombre_tabla_a_eliminar
Ejemplo:
DROP TABLE Demo2
Lenguaje de Definición de Datos (DDL)
Instrucciones – Definición de Tablas
Eliminación de Tablas
Tal como existe una sentencia para crear tablas existe una para borrarlas por completo de un
esquema (schema, este se define por lo nombres de usuarios definidos para la base de
datos).
Nomenclatura:
DROP TABLE nombre_tabla_a_eliminar
Ejemplo:
DROP TABLE Demo2
Lenguaje de Definición de Datos (DDL)
Instrucciones – Definición de Tablas
Uso de Valores NULL
• Un valor NULL es un valor desconocido al que se le refiere como NULL.
• La admisión de nulos de una columna se refiere a la posibilidad de la columna de
aceptar o rechazar valores NULL.
• Un valor NULL en una columna indica normalmente que no se ha introducido nada
para una fila particular de datos porque el valor es desconocido, no aplicable, no
definido o se ha de añadir en un momento posterior.
• Los valores NULL no son ni valores vacíos ni valores 0; sus valores verdaderos son
desconocidos - así no hay dos valores NULL que sean iguales.
Lenguaje de Definición de Datos (DDL)
Instrucciones – Definición de Tablas
Uso de Valores NULL
Ejemplo de Uso:
CREATE TABLE ejemplo (
atributo1 int NOT NULL,
……
atributo2 char NULL
)
Ejercicio: Cree la tabla Demo2 colocando el atributo codigo y estado
como NOT NULL .
Se especifica generalmente
solo en el caso del NOT
NULL, ya que por defecto son
NULL.
Lenguaje de Definición de Datos (DDL)
Instrucciones – Definición de Tablas
Valor por DEFECTO
A las columnas también se les puede colocar un valor por defecto, en el caso de que no
se ingresen datos en esa fila. Para poder hacer esto la columna debe ser pensada para
aceptar datos NULL.
Nomenclatura:
nombre_atributo tipo_de_dato DEFAULT (Valor)
Ejemplo:
CREATE TABLE ejemplo (
atributo1 int NOT NULL,
atributo2 char DEFAULT (‘A’),
atributo3 int DEFAULT(1)
)
DEFAULT es la palabra reservada
Para el caso de números dentro del
paréntesis sólo se coloca el número,
en el caso de texto se coloca entre
comas simples ‘ ‘.
Lenguaje de Definición de Datos (DDL)
Instrucciones – Definición de Tablas
Propiedad IDENTITY
Al crear una tabla se puede especificar una columna como columna de identidad añadiendo la
propiedad IDENTITY a la definición de la columna.
Si se crea una columna con la propiedad IDENTITY se genera automáticamente un valor de
fila para esa columna, basándose en un valor semilla y un valor de incremento.
Ejemplo:
valor semilla (1) y valor incremento (2)
Para la primera fila el valor del atributo sería 1
Para la segunda fila el valor del atributo sería 3
Nomenclatura:
Nombre_Atributo tipo_dato IDENTITY (valor semilla, valor incremento)
Lenguaje de Definición de Datos (DDL)
Instrucciones – Definición de Tablas
Propiedad IDENTITY
Ejemplo:
CREATE TABLE ejemplo (
atributo1 int IDENTITY (1,1) NOT NULL,
atributo2 nvarchar(20),
)
Ejercicio:
Crear la tabla DEMO2 colocando el código con la propiedad IDENTITY
comenzando con un valor base 1 e incrementando de 1 en 1.
Lenguaje de Definición de Datos (DDL)
Instrucciones – Definición de Tablas
Propiedad IDENTITY
Ejemplo:
CREATE TABLE ejemplo (
atributo1 int IDENTITY (1,1) NOT NULL,
atributo2 nvarchar(20),
)
Ejercicio:
Crear la tabla DEMO2 colocando el código con la propiedad IDENTITY
comenzando con un valor base 1 e incrementando de 1 en 1.
Lenguaje de Definición de Datos (DDL)
Instrucciones – Definición de Tablas
ALTER TABLE
La instrucción ALTER TABLE se utiliza para modificar la definición o los atributos de
una tabla.
Se pueden modificar columnas, eliminar atributos, modificar restricciones, añadir
atributos, etc.
Nomenclatura:
ALTER TABLE nombre_tabla
(tipo de cambio) ALTER COLUMN, ADD, DROP.
Lenguaje de Definición de Datos (DDL)
Instrucciones – Definición de Tablas
ALTER TABLE
Ejemplo:
CREATE TABLE ejemplo (
atributo1 int,
atributo2 nvarchar
)
/* Se modifica columna*/
ALTER TABLE ejemplo
ALTER COLUMN atributo2 int
Se cambia el tipo de dato del atributo
Lenguaje de Definición de Datos (DDL)
Instrucciones – Definición de Tablas
ALTER TABLE
Ejemplo:
/* Agregar una columna nueva*/
ALTER TABLE ejemplo
ADD atributo3 int
/* Borrar una columna sin restricciones*/
ALTER TABLE ejemplo
DROP COLUMN atributo2
Se elimina un atributo de la tabal ejemplo
Se agrega una columna
Bibliografía
TEXTO AUTOR EDITORIAL
“Sistema de Gestión de Bases de Datos” RaghuRamakrishnan, Johannes Gehrke Mc Graw Hill, 2003, 3ra Edición
“Fundamentos de bases de datos” Henry Korth y Abraham Silberschatz Mc Graw Hill,2006, 5ta Edición
“Bases de datos: Modelos, Lenguajes, Diseño” James L. Jonson
“El modelo entidad-relación” Barker Addison-Wesley Iberoamericana España,
“Bases de Datos” Rafael Camps Paré, Luis Alberto Casillas UOC
Bases de DatosDistribuidas BELZEBU Formato PDF (Atrium)
TEXTO AUTOR EDITORIAL
“Curso 2778 Writing Queries Using Microsoft SQL
Server 2008 Transact-SQL”
Microsoft Microsoft Learning
PHP Y MySQL para Dummies Valade Janet Formato PDF (Atrium)
MySQL http://www.mysql.com Open Source

Más contenido relacionado

Similar a DDL

CURSO DE DB2 DEMO
CURSO DE DB2 DEMOCURSO DE DB2 DEMO
CURSO DE DB2 DEMO
Ramiro Gonzalez
 
Lenguaje sql
Lenguaje sqlLenguaje sql
Lenguaje sql
Miguel Alejo Alejo
 
Tablas y Tipos de Datos
Tablas y Tipos de Datos Tablas y Tipos de Datos
Tablas y Tipos de Datos
Jorge Paredes Toledo
 
Clase 2 El lenguaje DDL de SQL
Clase 2 El lenguaje DDL de SQLClase 2 El lenguaje DDL de SQL
Clase 2 El lenguaje DDL de SQL
José Ricardo Tillero Giménez
 
Trabajando con datos Compuestos
Trabajando con datos CompuestosTrabajando con datos Compuestos
Trabajando con datos Compuestos
Martin Coronel
 
Taba y tipos de datos
Taba y tipos de datosTaba y tipos de datos
Taba y tipos de datos
Thalia Regalado Juape
 
Presentacion Sql
Presentacion SqlPresentacion Sql
Presentacion Sql
guest5f0fa0
 
TEMA3-SQL-(PARTE 1).pdf
TEMA3-SQL-(PARTE 1).pdfTEMA3-SQL-(PARTE 1).pdf
TEMA3-SQL-(PARTE 1).pdf
alukardconde1
 
Modificaciones De Ansi Sql
Modificaciones De Ansi SqlModificaciones De Ansi Sql
Modificaciones De Ansi Sql
guest0c9485
 
Modificaciones De Ansi Sql
Modificaciones De Ansi SqlModificaciones De Ansi Sql
Modificaciones De Ansi Sql
guest0c9485
 
Sql presentacion
Sql presentacionSql presentacion
Sql presentacion
M. Angel Esteban
 
Diagramas ER
Diagramas ERDiagramas ER
Diagramas ER
guest7f3b69
 
Grupo3
Grupo3Grupo3
Grupo3
guestd449f3
 
Grupo3
Grupo3Grupo3
Grupo3
guest7f3b69
 
Grupo3
Grupo3Grupo3
Sesión 12 -Diseño de BD_Ciclo_3.pptx
Sesión 12 -Diseño de BD_Ciclo_3.pptxSesión 12 -Diseño de BD_Ciclo_3.pptx
Sesión 12 -Diseño de BD_Ciclo_3.pptx
John McClane
 
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
MARGOTHLORENAMARTINE
 
Clase06 25-06-12
Clase06 25-06-12Clase06 25-06-12
Clase06 25-06-12
Free TIC
 
Base de Datos I (I Bimestre)
Base de Datos I (I Bimestre)Base de Datos I (I Bimestre)
Base de Datos I (I Bimestre)
Videoconferencias UTPL
 
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
vargasaldanajohanna
 

Similar a DDL (20)

CURSO DE DB2 DEMO
CURSO DE DB2 DEMOCURSO DE DB2 DEMO
CURSO DE DB2 DEMO
 
Lenguaje sql
Lenguaje sqlLenguaje sql
Lenguaje sql
 
Tablas y Tipos de Datos
Tablas y Tipos de Datos Tablas y Tipos de Datos
Tablas y Tipos de Datos
 
Clase 2 El lenguaje DDL de SQL
Clase 2 El lenguaje DDL de SQLClase 2 El lenguaje DDL de SQL
Clase 2 El lenguaje DDL de SQL
 
Trabajando con datos Compuestos
Trabajando con datos CompuestosTrabajando con datos Compuestos
Trabajando con datos Compuestos
 
Taba y tipos de datos
Taba y tipos de datosTaba y tipos de datos
Taba y tipos de datos
 
Presentacion Sql
Presentacion SqlPresentacion Sql
Presentacion Sql
 
TEMA3-SQL-(PARTE 1).pdf
TEMA3-SQL-(PARTE 1).pdfTEMA3-SQL-(PARTE 1).pdf
TEMA3-SQL-(PARTE 1).pdf
 
Modificaciones De Ansi Sql
Modificaciones De Ansi SqlModificaciones De Ansi Sql
Modificaciones De Ansi Sql
 
Modificaciones De Ansi Sql
Modificaciones De Ansi SqlModificaciones De Ansi Sql
Modificaciones De Ansi Sql
 
Sql presentacion
Sql presentacionSql presentacion
Sql presentacion
 
Diagramas ER
Diagramas ERDiagramas ER
Diagramas ER
 
Grupo3
Grupo3Grupo3
Grupo3
 
Grupo3
Grupo3Grupo3
Grupo3
 
Grupo3
Grupo3Grupo3
Grupo3
 
Sesión 12 -Diseño de BD_Ciclo_3.pptx
Sesión 12 -Diseño de BD_Ciclo_3.pptxSesión 12 -Diseño de BD_Ciclo_3.pptx
Sesión 12 -Diseño de BD_Ciclo_3.pptx
 
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
 
Clase06 25-06-12
Clase06 25-06-12Clase06 25-06-12
Clase06 25-06-12
 
Base de Datos I (I Bimestre)
Base de Datos I (I Bimestre)Base de Datos I (I Bimestre)
Base de Datos I (I Bimestre)
 
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
 

Último

TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
dayronfabricioruizmo
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
Maria Celeste Trujillo Cruz
 
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcelherramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
Eduardo455921
 
Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
PaulDelgadoSoto
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
eliersin13
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 

Último (7)

TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
 
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcelherramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
 
Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 

DDL

  • 1. Base de Datos I Ing. Diana López A. dlopez@ecotec.edu.ec
  • 2. AGENDA • LENGUAJE S.Q.L. • SUB-LENGUAJE D.D.L.
  • 3. Introducción El lenguaje SQL (Structured Query Language) es el lenguaje estándar actual para los sistemas de base de datos relacionales. Fue desarrollado originalmente por IBM a mediados de la década de los setenta, e implementado por primera vez en un prototipo de IBM, System R. En el año 1986, el lenguaje SQL fue propuesto por ANSI (Instituto nacional de normalización americano) como lenguaje relacional, y fue aceptado en 1987 por ISO como lenguaje estándar. Versiones posteriores de este lenguaje han aparecido en 1989,1992, y 1999. En sus orígenes fue un lenguaje de tipo lógico, basado en el calculo relacional ( de tuplas ) de E. F. Cood. Posteriormente fueron incorporados aspectos (operadores) algebraicos.
  • 4. Introducción Se puede afirmar que el SQL actual es un hibrido entre el Algebra Relacional y el Cálculo Relacional (de Tuplas). El lenguaje SQL proporciona un sublenguaje de Definición de Datos (DDL, Data Definition Language) y un sublenguaje de Manipulación de Datos (DML, Data Manipulation Language). Este lenguaje puede ser utilizado también en modo incrustado (o embebido), es decir, en un programa escrito en un lenguaje de alto nivel ( C, Java, Visual Basic, etc.).
  • 5. Lenguaje de Definición de Datos (DDL) Fundamentos de la Definición de Datos La estructura básica de una base de datos relacional. Base de Datos Catálogos Esquemas Tablas y Vistas Privilegios Columnas La tabla es la unidad básica de gestión de datos en una base de datos relacional en SQL. El esquema de la tabla está definida por las columnas y sus tipos.
  • 6. Lenguaje de Definición de Datos (DDL) Instrucciones – Definición de Tablas • Una tabla es un objeto de una base de datos que almacena datos en una colección de filas y columnas. Una tabla se define por las columnas que contiene. Así los datos pueden organizarse de forma similar a una hoja de cálculo. • Recordar que una Tabla es lo mismo que una Relación. • Para definir una tabla se debe decidir qué columnas definir y que tipo de datos, como por ejemplo datos de caracteres o numéricos, se permite que haya en cada columna. • También se debe decidir sobre un rango permisible a esos datos – por ejemplo, podría decidirse permitir hasta 30 caracteres o números de 4 bytes. Estos atributos se especifican mediante la asignación a cada columna de un tipo de datos, que es un conjunto de atributos que determinan que tipo y rango de datos puede albergar esa columna.
  • 7. Lenguaje de Definición de Datos (DDL) Instrucciones – Definición de Tablas La asignación de tipos de datos a una columna fija los siguientes atributos:  La clase de datos que la columna puede contener, como caracteres, enteros o imagines.  El tamaño o longitud de los datos de una columna.  La precisión del número (solo para tipos numéricos) - esto es, el número de dígitos que puede contener un número.  La escala del número (sólo para tipos numéricos) – esto es, el número de dígitos que pueden almacenarse a la derecha del punto decimal. A continuación se darán a conocer un conjunto de tipos de datos pertenecientes a SQL SERVER. Cada SGBD posee sus tipos de datos que varían en nombre pero no en conceptos.
  • 8. Lenguaje de Definición de Datos (DDL) Instrucciones – Definición de Tablas Tipos de Datos SQL SERVER: Numéricos: BIT, INT, SMALLINT, DECIMAL, NUMERIC, MONEY, SMALMONEY, FLOAT. Fechas: DATETIME, SMALLDATETIME. String: CHAR, VARCHAR, TEXT, NCHAR, NVARCHAR, NTEXT. String Binarias : BINARY, VARBINARY, IMAGE.
  • 9. Lenguaje de Definición de Datos (DDL) Instrucciones – Definición de Database Creación de Database El comando CREATE DATABASE tiene por finalidad crear una nueva base de datos. Nomenclatura: Permite crear bases de datos. CREATE DATABASE database_name; Permite eliminar bases de datos. DROP DATABASE database_name Permite visualizar las bases de datos activas Show databases;
  • 10. Lenguaje de Definición de Datos (DDL) Instrucciones – Definición de Tablas Creación de Tablas El comando CREATE TABLE tiene por finalidad crear una nueva tabla en la base de datos. SQL SERVER permite hasta dos billones de tablas por base de datos y hasta 1024 columnas por tabla. No existe limite para la cantidad de filas por tabla, salvo por el espacio físico disponible. Nomenclatura: CREATE TABLE table_name ( { <column_definition> | column_name as computed_colum_expression | <table_constraint> } [, …. N] [ON { filegroup | DEFAULT} ] [ TEXTIMAGE_ON {filegroup | DEFAULT ] Table_name. Es el nombre de la tabla que se va a crear. <Column_definition>. Especifica el tipo de datos de la columna de la tabla.
  • 11. Lenguaje de Definición de Datos (DDL) Instrucciones – Definición de Tablas Creación de Tablas Nomenclatura: CREATE TABLE nombre_tabla ( nombre_atributo1 tipo dato, nombre_atributo2 tipo_dato, ………… nombre_atributoN tipo_dato, ) Ejemplo: CREATE TABLE demo2( codigo INT, nombre char(20), estado char (2), ) Conjunto de Atributos con sus respectivos tipos de datos. NOTA: Para poder ver las tablas creadas en tu esquema relacional en SQL SERVER ejecuta el siguiente comando: select * from information_schema.tables where TABLE_TYPE = 'BASE TABLE‘ Para poder ver el detalle de una tabla ejecuta el siguiente comando: select * from information_schema.columns where TABLE_NAME = ‘Nombre_Tabla' order by table_name
  • 12. Lenguaje de Definición de Datos (DDL) Instrucciones – Definición de Tablas Eliminación de Tablas Tal como existe una sentencia para crear tablas existe una para borrarlas por completo de un esquema (schema, este se define por lo nombres de usuarios definidos para la base de datos). Nomenclatura: DROP TABLE nombre_tabla_a_eliminar Ejemplo: DROP TABLE Demo2
  • 13. Lenguaje de Definición de Datos (DDL) Instrucciones – Definición de Tablas Eliminación de Tablas Tal como existe una sentencia para crear tablas existe una para borrarlas por completo de un esquema (schema, este se define por lo nombres de usuarios definidos para la base de datos). Nomenclatura: DROP TABLE nombre_tabla_a_eliminar Ejemplo: DROP TABLE Demo2
  • 14. Lenguaje de Definición de Datos (DDL) Instrucciones – Definición de Tablas Uso de Valores NULL • Un valor NULL es un valor desconocido al que se le refiere como NULL. • La admisión de nulos de una columna se refiere a la posibilidad de la columna de aceptar o rechazar valores NULL. • Un valor NULL en una columna indica normalmente que no se ha introducido nada para una fila particular de datos porque el valor es desconocido, no aplicable, no definido o se ha de añadir en un momento posterior. • Los valores NULL no son ni valores vacíos ni valores 0; sus valores verdaderos son desconocidos - así no hay dos valores NULL que sean iguales.
  • 15. Lenguaje de Definición de Datos (DDL) Instrucciones – Definición de Tablas Uso de Valores NULL Ejemplo de Uso: CREATE TABLE ejemplo ( atributo1 int NOT NULL, …… atributo2 char NULL ) Ejercicio: Cree la tabla Demo2 colocando el atributo codigo y estado como NOT NULL . Se especifica generalmente solo en el caso del NOT NULL, ya que por defecto son NULL.
  • 16. Lenguaje de Definición de Datos (DDL) Instrucciones – Definición de Tablas Valor por DEFECTO A las columnas también se les puede colocar un valor por defecto, en el caso de que no se ingresen datos en esa fila. Para poder hacer esto la columna debe ser pensada para aceptar datos NULL. Nomenclatura: nombre_atributo tipo_de_dato DEFAULT (Valor) Ejemplo: CREATE TABLE ejemplo ( atributo1 int NOT NULL, atributo2 char DEFAULT (‘A’), atributo3 int DEFAULT(1) ) DEFAULT es la palabra reservada Para el caso de números dentro del paréntesis sólo se coloca el número, en el caso de texto se coloca entre comas simples ‘ ‘.
  • 17. Lenguaje de Definición de Datos (DDL) Instrucciones – Definición de Tablas Propiedad IDENTITY Al crear una tabla se puede especificar una columna como columna de identidad añadiendo la propiedad IDENTITY a la definición de la columna. Si se crea una columna con la propiedad IDENTITY se genera automáticamente un valor de fila para esa columna, basándose en un valor semilla y un valor de incremento. Ejemplo: valor semilla (1) y valor incremento (2) Para la primera fila el valor del atributo sería 1 Para la segunda fila el valor del atributo sería 3 Nomenclatura: Nombre_Atributo tipo_dato IDENTITY (valor semilla, valor incremento)
  • 18. Lenguaje de Definición de Datos (DDL) Instrucciones – Definición de Tablas Propiedad IDENTITY Ejemplo: CREATE TABLE ejemplo ( atributo1 int IDENTITY (1,1) NOT NULL, atributo2 nvarchar(20), ) Ejercicio: Crear la tabla DEMO2 colocando el código con la propiedad IDENTITY comenzando con un valor base 1 e incrementando de 1 en 1.
  • 19. Lenguaje de Definición de Datos (DDL) Instrucciones – Definición de Tablas Propiedad IDENTITY Ejemplo: CREATE TABLE ejemplo ( atributo1 int IDENTITY (1,1) NOT NULL, atributo2 nvarchar(20), ) Ejercicio: Crear la tabla DEMO2 colocando el código con la propiedad IDENTITY comenzando con un valor base 1 e incrementando de 1 en 1.
  • 20. Lenguaje de Definición de Datos (DDL) Instrucciones – Definición de Tablas ALTER TABLE La instrucción ALTER TABLE se utiliza para modificar la definición o los atributos de una tabla. Se pueden modificar columnas, eliminar atributos, modificar restricciones, añadir atributos, etc. Nomenclatura: ALTER TABLE nombre_tabla (tipo de cambio) ALTER COLUMN, ADD, DROP.
  • 21. Lenguaje de Definición de Datos (DDL) Instrucciones – Definición de Tablas ALTER TABLE Ejemplo: CREATE TABLE ejemplo ( atributo1 int, atributo2 nvarchar ) /* Se modifica columna*/ ALTER TABLE ejemplo ALTER COLUMN atributo2 int Se cambia el tipo de dato del atributo
  • 22. Lenguaje de Definición de Datos (DDL) Instrucciones – Definición de Tablas ALTER TABLE Ejemplo: /* Agregar una columna nueva*/ ALTER TABLE ejemplo ADD atributo3 int /* Borrar una columna sin restricciones*/ ALTER TABLE ejemplo DROP COLUMN atributo2 Se elimina un atributo de la tabal ejemplo Se agrega una columna
  • 23. Bibliografía TEXTO AUTOR EDITORIAL “Sistema de Gestión de Bases de Datos” RaghuRamakrishnan, Johannes Gehrke Mc Graw Hill, 2003, 3ra Edición “Fundamentos de bases de datos” Henry Korth y Abraham Silberschatz Mc Graw Hill,2006, 5ta Edición “Bases de datos: Modelos, Lenguajes, Diseño” James L. Jonson “El modelo entidad-relación” Barker Addison-Wesley Iberoamericana España, “Bases de Datos” Rafael Camps Paré, Luis Alberto Casillas UOC Bases de DatosDistribuidas BELZEBU Formato PDF (Atrium) TEXTO AUTOR EDITORIAL “Curso 2778 Writing Queries Using Microsoft SQL Server 2008 Transact-SQL” Microsoft Microsoft Learning PHP Y MySQL para Dummies Valade Janet Formato PDF (Atrium) MySQL http://www.mysql.com Open Source

Notas del editor

  1. 16/07/96