Bases de Datos – 1º ASIRSQL: 1. Introducción
1. Introducción a SQLSQL son las siglas de Structured Query Language quesignifica lenguaje estructurado de consulta.Es un ...
1. Introducción a SQLEntre los trabajos que se pueden realizar en unabase de datos podemos distinguir tres tipos:definició...
1. Introducción a SQLSentencias de definición de datos. ( Lenguaje deDefinición de Datos DDL)Se utilizan para:Crear objeto...
1. Introducción a SQLSentencias de manipulación de datos. (Lenguaje deManipulación de Datos DML)Se utilizan para:Recuperar...
1. Introducción a SQLSentencias de control de datos. (Lenguaje de Controlde datos DCL):Se utilizan para:Crear privilegios ...
1. Introducción a SQLConsideraciones sobre las notaciones y formatosutilizados:Las palabras reservadas de SQL aparecen en ...
2. TablasSon los objetos de la Base de Datos donde sealmacenan los datos.Normalmente una tabla representa una entidadaunqu...
2. TablasEjemplos de atributos:Para la tabla departamento las columnas son el número dedepartamento, el nombre del departa...
3. Tipos de datosINT[(num)] o INTEGER [(num)]Se utiliza para guardar datos numéricos enteros, siendo numel número de dígit...
3. Tipos de datosCHAR (long)Se utiliza para guardar cadenas de caracteres de longitudfija especificada entre paréntesis.La...
3. Tipos de datos!Aviso sobre char y varchar!
3. Tipos de datosTEXTUn texto de longitud máxima 65.535 caracteres. (2 ^ 16 –1).Se almacena como un VARCHARLONGTEXTUn text...
3. Tipos de datosFechasEstos datos se tratan externamente como cadenas decaracteres por lo que estar entre comillas para s...
3. Tipos de datosTIMEEste tipo de dato permite almacenar horas, incluyendo enesa información: horas, minutos y segundos co...
4. Creación de tablasAntes de escribir la sentencia para crear una tabladebemos pensar una serie de datos:El nombre de la ...
4. Creación de tablasRestricciones, llamadas CONSTRAINTS, soncondiciones que imponemos en el momento de crearuna tabla par...
4. Creación de tablasPRIMARY KEY. Indica una o varias columnas como dato odatos que identifican unívocamente cada fila de ...
4. Creación de tablasFOREIGN KEY. Indica que una determinada columna deuna tabla, va a servir para referenciar a otra tabl...
4. Creación de tablasUNIQUE. Indica que esta columna o grupo de columnasdebe tener un valor único.También admite valores n...
4. Creación de tablasEl nombre de la tabla debe ser único en la base de datos.Los nombres de columnas deben ser únicos den...
4. Creación de tablasEjemplo:En una biblioteca queremos guardar los datos de los sociosen una tabla socios y los préstamos...
4. Creación de tablasEjemplo:
4. Creación de tablasEjemplo:Crear una tabla prestamos para guardar los préstamos hechosa los socios con los datos:Número ...
4. Creación de tablasEjemplo:Crear una tabla prestamos para guardar los préstamos hechosa los socios con los datos:Número ...
4. Creación de tablasLa restricciones pueden definirse de dos formas:A nivel de columnaA nivel de tablaEstas restricciones...
4. Creación de tablasCon restricciones a nivel de columna
Creación de tablasDefinición de los diferentes tipos de CONSTRAINTS anivel de tabla
Creación de tablasEl nombre de tabla referenciada es el nombre de la tabla ala que se va a acceder con la clave ajena.Si l...
Creación de tablasAunque no es propiamente una restricción, pero como partede la definición de una columnas podemos indica...
Creación de tablas
4. Creación de tablasCon restricciones a nivel de tablaLas restricciones siempre se pueden definir de esta forma tanto sia...
4. Creación de tablas
4. Creación de tablasLos nombres de columna o columnas que siguen a lacláusula FOREIGN KEY es aquella o aquellas que están...
4. Creación de tablasLos nombres de columna o columnas que siguen a lacláusula FOREIGN KEY es aquella o aquellas que están...
4. Creación de tablas
4. Creación de tablas.Integridad referencialLa definición de claves ajenas nos permiten mantenerla integridad referencial ...
4. Creación de tablas.Integridad referencialLa definición de claves ajenas nos permiten mantenerla integridad referencial ...
4. Creación de tablas.Integridad referencial¿que sucede si queremos borrar o modificar un valorde departamentos.dep_no.?El...
4. Creación de tablas.Integridad referencialCASCADE. El borrado o modificación de una fila de la tablareferenciada lleva c...
4. Creación de tablas.Integridad referencialEjemplo:
5. Ejemplo final
FF: Insert
Upcoming SlideShare
Loading in...5
×

1 create bd-sql

166

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
166
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "1 create bd-sql"

  1. 1. Bases de Datos – 1º ASIRSQL: 1. Introducción
  2. 2. 1. Introducción a SQLSQL son las siglas de Structured Query Language quesignifica lenguaje estructurado de consulta.Es un lenguaje estándar no procedimental que seutiliza para definir, gestionar y manipular lainformación contenida en una Base de DatosRelacional.
  3. 3. 1. Introducción a SQLEntre los trabajos que se pueden realizar en unabase de datos podemos distinguir tres tipos:definición, manipulación y control de datos.Por ello se distinguen tres tipos de sentencias SQL:Sentencias de definición de datos. ( Lenguaje de Definiciónde Datos DDL)Sentencias de manipulación de datos. (Lenguaje deManipulación de Datos DML)Sentencias de control de datos. (Lenguaje de Control dedatos DCL)
  4. 4. 1. Introducción a SQLSentencias de definición de datos. ( Lenguaje deDefinición de Datos DDL)Se utilizan para:Crear objetos de base de datos -------- SENTENCIA CREATEEliminar objetos de base de datos ------- SENTENCIA DROPModificar objetos de base de datos ------ SENTENCIA ALTER
  5. 5. 1. Introducción a SQLSentencias de manipulación de datos. (Lenguaje deManipulación de Datos DML)Se utilizan para:Recuperar información ---------- SENTENCIA SELECTActualizar la información:Añadir filas ------------------ SENTENCIA INSERTEliminar filas ---------------- SENTENCIA DELETEModificar filas --------------- SENTENCIA UPDATE
  6. 6. 1. Introducción a SQLSentencias de control de datos. (Lenguaje de Controlde datos DCL):Se utilizan para:Crear privilegios de acceso a los datos -- SENTENCIA GRANTQuitar privilegios de acceso a los datos -SENTENCIA REVOKE
  7. 7. 1. Introducción a SQLConsideraciones sobre las notaciones y formatosutilizados:Las palabras reservadas de SQL aparecen en mayúsculas.Los nombres de objetos (tablas, columnas, etcétera)aparecen en el formato TipoTítulo (las iniciales de laspalabras en mayúsculas)Las llaves { } indican la elección obligatoria entre varioselementos.La barra vertical | separa los elementos en una elección.Los corchetes [ ] encierran un elemento opcional.
  8. 8. 2. TablasSon los objetos de la Base de Datos donde sealmacenan los datos.Normalmente una tabla representa una entidadaunque también puede representar una asociación deentidades.Cada fila representa una ocurrencia de la entidadCada columna representa un atributo ocaracterística de la entidad.Las tablas tienen un nombre que las identifica yestán formadas por atributos representados enlascolumnas, y por tuplas representadas en las filas.
  9. 9. 2. TablasEjemplos de atributos:Para la tabla departamento las columnas son el número dedepartamento, el nombre del departamento y la localidaddonde se encuentra.Ejemplos de tuplas son:los datos de un empleado si es una tabla de empleados, deun departamento si es una tabla de departamentos.
  10. 10. 3. Tipos de datosINT[(num)] o INTEGER [(num)]Se utiliza para guardar datos numéricos enteros, siendo numel número de dígitosFLOAT(escala, precision)Se utiliza para guardar datos numéricos en coma flotante.La escala indica el número total de dígitos.La precisión el número de posiciones decimalesNUMERIC(escala, precisión)Se utiliza para guardar datos numéricos.La escala indica el número total de dígitos.Laprecisión el número de posiciones decimales, y si no seespecifica se supone 0 (correspondería a un número entero)
  11. 11. 3. Tipos de datosCHAR (long)Se utiliza para guardar cadenas de caracteres de longitudfija especificada entre paréntesis.La longitud, long, puede ser un número entre 0 y 255 (vernota)VARCHAR (long)Se utiliza igualmente para almacena cadenas de caracteresde longitud variable cuyo límite máximo es el valorespecificado como longLa longitud puede ser un número entre 0 y 255
  12. 12. 3. Tipos de datos!Aviso sobre char y varchar!
  13. 13. 3. Tipos de datosTEXTUn texto de longitud máxima 65.535 caracteres. (2 ^ 16 –1).Se almacena como un VARCHARLONGTEXTUn texto de longitud máxima 4 Gigas caracteres. (2 ^ 32 –1)Se almacena como un VARCHAR
  14. 14. 3. Tipos de datosFechasEstos datos se tratan externamente como cadenas decaracteres por lo que estar entre comillas para su utilización.DATEEste tipo de dato permite almacenar fechas, incluyendo enesa información: año, mes y día con la forma ‘YYYY-MM-DD’.DATETIMEEste tipo de dato permite almacenar fechas y horas,incluyendo en esa información: año, mes, día, horas,minutos y segundos con la forma ‘YYYY-MM-DD HH:MM:SS’.
  15. 15. 3. Tipos de datosTIMEEste tipo de dato permite almacenar horas, incluyendo enesa información: horas, minutos y segundos con la forma‘HH:MM:SS’.BOOLEANAlmacena valores binarios formados por combinaciones delos valores 1(verdadero) y 0 (falso).
  16. 16. 4. Creación de tablasAntes de escribir la sentencia para crear una tabladebemos pensar una serie de datos:El nombre de la tabla.El nombre de cada columna.El tipo de dato almacenado en cada columna.El tamaño de cada columna.Por otra parte, información sobre lo que se puedenalmacenar las filas de la tabla.Esta información serán las restricciones que almacenamosen las tablas.
  17. 17. 4. Creación de tablasRestricciones, llamadas CONSTRAINTS, soncondiciones que imponemos en el momento de crearuna tabla para que los datos se ajusten a una seriede características predefinidas que mantengan suintegridad.Hay las siguientes:NOT NULL. Exige la existencia de valor en la columna quelleva la restricción.DEFAULT. Proporciona un valor por defecto cuando lacolumna correspondiente no se le da valor en la instrucciónde inserción. Este valor por defecto debe ser una constante.
  18. 18. 4. Creación de tablasPRIMARY KEY. Indica una o varias columnas como dato odatos que identifican unívocamente cada fila de la tabla.Sólo existe una por tablaEn ninguna fila puede tener valor NULL, por definición.Es obligatoria su existencia en el modelo relacional.
  19. 19. 4. Creación de tablasFOREIGN KEY. Indica que una determinada columna deuna tabla, va a servir para referenciar a otra tabla en la queestá definida la misma columna (columna o clavereferenciada).El valor de la clave ajena deberá coincidir con uno de losvalores de esta clave referenciada o ser NULL.No existe límite en el número de claves ajenas que pueda teneruna tabla.Como caso particular, una clave ajena puede referenciar a lamisma tabla en la que está.Para poder crear una tabla con clave ajena deberá estarpreviamente creada la tabla maestra en la que la mismacolumna es clave primaria.
  20. 20. 4. Creación de tablasUNIQUE. Indica que esta columna o grupo de columnasdebe tener un valor único.También admite valores nulos.Al hacer una nueva inserción se comprobará que el valor esúnico o NULL.CHECK. Comprueba si el valor insertado en esa columnacumple una determinada condición.
  21. 21. 4. Creación de tablasEl nombre de la tabla debe ser único en la base de datos.Los nombres de columnas deben ser únicos dentro de la tabla.La cláusula IF NOT EXISTS previene el posible error generado siexistiese una tabla con ese nombre.
  22. 22. 4. Creación de tablasEjemplo:En una biblioteca queremos guardar los datos de los sociosen una tabla socios y los préstamos que se realizan en unatabla prestamos.Crear una tabla socios con los datos de los socios:Numero de socio Número entero de 4 dígitosApellidos del socios Cadena de 14 caracteres máximoTeléfono Cadena de 9 caracteresFecha de alta como socio FechaDirección Cadena de 20 carateres máximo
  23. 23. 4. Creación de tablasEjemplo:
  24. 24. 4. Creación de tablasEjemplo:Crear una tabla prestamos para guardar los préstamos hechosa los socios con los datos:Número del préstamo Número entero de 2 dígitosCódigo del socio Número entero de 4 dígitos
  25. 25. 4. Creación de tablasEjemplo:Crear una tabla prestamos para guardar los préstamos hechosa los socios con los datos:Número del préstamo Número entero de 2 dígitosCódigo del socio Número entero de 4 dígitos
  26. 26. 4. Creación de tablasLa restricciones pueden definirse de dos formas:A nivel de columnaA nivel de tablaEstas restricciones , llamadas CONSTRAINTS sepueden almacenar con o sin nombre.Estos nombres que les damos a las CONSTRAINTSdeben ser significativos. Por ejemplo:pk_NombreTabla para PRIMARY KEYfk_NombreTabla1_NombreTabla2 FOREIGN KEY dondeNombreTabla1 es la tabla donde se crea y NombreTabla2 esla tabla a la que referencia.uq_NombreTabla_NombreColumna para UNIQUE
  27. 27. 4. Creación de tablasCon restricciones a nivel de columna
  28. 28. Creación de tablasDefinición de los diferentes tipos de CONSTRAINTS anivel de tabla
  29. 29. Creación de tablasEl nombre de tabla referenciada es el nombre de la tabla ala que se va a acceder con la clave ajena.Si la columna que forma la clave referenciada en dicha tablano tiene el mismo nombre que en la clave ajena, debeindicarse su nombre detrás del de la tabla referenciada ydentro del paréntesis.Si los nombres de columnas coinciden en la clave ajena y enla primaria, no es necesario realizar esta indicación.
  30. 30. Creación de tablasAunque no es propiamente una restricción, pero como partede la definición de una columnas podemos indicar que seaAUTO_INCREMENT.De esta forma el sistema gestor irá poniendo valores en estacolumna incrementándolos de 1 en 1 respecto al anterior yempezando por 1Esta definición sólo se puede aplicar sobre columnasdefinidas como enteras y que sean claves.
  31. 31. Creación de tablas
  32. 32. 4. Creación de tablasCon restricciones a nivel de tablaLas restricciones siempre se pueden definir de esta forma tanto siafectan a una sola columna como a varias columnas y puede darse unnombre a cada una de las restricciones.Aviso sobre las anteriores: Las restricciones a nivel de columna no sepueden aplicar sobre más de una columna
  33. 33. 4. Creación de tablas
  34. 34. 4. Creación de tablasLos nombres de columna o columnas que siguen a lacláusula FOREIGN KEY es aquella o aquellas que estánformando la clave ajena. Si hay más de una se separan porcomas.El nombre de tabla referenciada es el nombre de la tabla ala que se va a acceder con la clave ajena.Si la columna o columnas que forman la clave referenciadaen dicha tabla no tienen el mismo nombre que en la claveajena, debe indicarse su nombre detrás del de la tablareferenciada y dentro de paréntesis. Si son más de unacolumna se separan por comas.Si los nombres de columnas coinciden en la clave ajena y enla primaria, no es necesario realizar esta indicación.
  35. 35. 4. Creación de tablasLos nombres de columna o columnas que siguen a lacláusula FOREIGN KEY es aquella o aquellas que estánformando la clave ajena. Si hay más de una se separan porcomas.El nombre de tabla referenciada es el nombre de la tabla ala que se va a acceder con la clave ajena.Si la columna o columnas que forman la clave referenciadaen dicha tabla no tienen el mismo nombre que en la claveajena, debe indicarse su nombre detrás del de la tablareferenciada y dentro de paréntesis. Si son más de unacolumna se separan por comas.Si los nombres de columnas coinciden en la clave ajena y enla primaria, no es necesario realizar esta indicación.
  36. 36. 4. Creación de tablas
  37. 37. 4. Creación de tablas.Integridad referencialLa definición de claves ajenas nos permiten mantenerla integridad referencial en una base de datosrelacional.Hemos dicho que la columna o columnas definidascomo clave ajena deben tomar valores que secorrespondan con un valor existente de la clavereferenciada.
  38. 38. 4. Creación de tablas.Integridad referencialLa definición de claves ajenas nos permiten mantenerla integridad referencial en una base de datosrelacional.Hemos dicho que la columna o columnas definidascomo clave ajena deben tomar valores que secorrespondan con un valor existente de la clavereferenciada.
  39. 39. 4. Creación de tablas.Integridad referencial¿que sucede si queremos borrar o modificar un valorde departamentos.dep_no.?El sistema, por defecto, no nos lo permitirá si existen filascon ese valor en la tabla de la clave ajena. También seconoce como RESTRICT.Es la opción por defecto, pero existen las siguientesopciones en la definición de la clave ajena:
  40. 40. 4. Creación de tablas.Integridad referencialCASCADE. El borrado o modificación de una fila de la tablareferenciada lleva consigo el borrado o modificación en cascadade las filas de la tabla que contiene la clave ajena. Es la másutilizada.SET NULL. El borrado o modificación de una fila de la tablareferenciada lleva consigo poner a NULL los valores de lasclaves ajenas en las filas de la tabla que referencia.SET DEFAULT. El borrado o modificación de una fila de latabla referenciada lleva consigo poner un valor por defecto enlas claves ajenas de la tabla que referencia.NO ACTION. El borrado o modificación de una fila de la tablareferenciada solo se produce si no existe ese valor en la tablaque contiene la clave ajena. Tiene el mismo efecto queRESTRICT.
  41. 41. 4. Creación de tablas.Integridad referencialEjemplo:
  42. 42. 5. Ejemplo final
  43. 43. FF: Insert
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×