Unidad 6 Lenguaje Sql

7,845 views

Published on

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
7,845
On SlideShare
0
From Embeds
0
Number of Embeds
767
Actions
Shares
0
Downloads
499
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Unidad 6 Lenguaje Sql

  1. 1. Bases de Datos Unidad VI Lenguaje SQL “ Introducción y Lenguaje de definición de datos (DDL)” Sergio Sánchez Rios. Ingeniero en Informática – Licenciado en Informática Docente Jornada Parcial Universidad Viña del Mar
  2. 2. 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.
  3. 3. 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.).
  4. 4. Lenguaje de Definición de Datos (DDL) Fundamentos de la Definición de Datos La estructura básica de una base de datos relacional. 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. Base de Datos Catálogos Esquemas Tablas y Vistas Privilegios Columnas
  5. 5. 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.
  6. 6. Lenguaje de Definición de Datos (DDL) Instrucciones – Definición de Tablas <ul><li>La asignación de tipos de datos a una columna fija los siguientes atributos: </li></ul><ul><ul><li>La clase de datos que la columna puede contener, como caracteres, enteros o imagines. </li></ul></ul><ul><ul><li>El tamaño o longitud de los datos de una columna. </li></ul></ul><ul><ul><li>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. </li></ul></ul><ul><ul><li>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. </li></ul></ul><ul><li>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. </li></ul>
  7. 7. Lenguaje de Definición de Datos (DDL) Instrucciones – Definición de Tablas <ul><ul><li>Tipos de Datos SQL SERVER: </li></ul></ul><ul><ul><li>Numéricos: BIT, INT, SMALLINT, DECIMAL, NUMERIC, MONEY, SMALMONEY, FLOAT. </li></ul></ul><ul><ul><li>Fechas: DATETIME, SMALLDATETIME. </li></ul></ul><ul><ul><li>String: CHAR, VARCHAR, TEXT, NCHAR, NVARCHAR, NTEXT. </li></ul></ul><ul><ul><li>String Binarias : BINARY, VARBINARY, IMAGE. </li></ul></ul>
  8. 8. 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.
  9. 9. 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
  10. 10. 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
  11. 11. 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
  12. 12. 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.
  13. 13. 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.
  14. 14. 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 ‘ ‘.
  15. 15. 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)
  16. 16. 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.
  17. 17. 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.
  18. 18. 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.
  19. 19. 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
  20. 20. 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
  21. 21. Bibliografía <ul><li>“ Introducción a los Sistemas de Base de Datos”, C. J. Date, Prentice Hall – Séptima Edición, 2001. </li></ul><ul><li>“ Running SQL SERVER 2000”, Marci Frohock García & Jamie Reding & Edward Whalen & Steve Adrien Deluca, McGraw – Hill – 2001. </li></ul><ul><li>“ SQL SERVER 7.0 – Iniciación y Referencia”, José Antonio Ramalho, McGraw-Hill – 2000. </li></ul><ul><li>“ Bases de Datos Relacionales”, Matilde Celma Giménez & Juan Casamayor & Laura Mota, Prentice Hall, 2003. </li></ul><ul><li>Cátedra “Introducción a las bases de datos”, Profesor L. Marti, Universidad de Valparaíso, 2004. </li></ul>

×