Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porLynda Blanco Modificado hace 6 años
1
Base de Datos II ING LANDY BLANQUET ESCOBAR
2
SQL.(Structure Query Language) SQL proporciona métodos para definir la base datos, para manipular la información y para gestionar los permisos de acceso a dicha información. Para que un gestor de bases de datos sea considerado como relacional, debe soportar SQL, independientemente de las características particulares que dicho gestor pueda aportar.
3
Introducción a SQL DDL(Data Definition Language), es el encargado de la definición de Bases de Datos, tablas, vistas e índices entre otros. Son comandos propios de este lenguaje: CREATE TABLE CREATE INDEX CREATE VIEW CREATE SYNONYM DML(Data Manipulation Language), cuya misión es la manipulación de datos. A través de él podemos seleccionar, insertar, eliminar y actualizar datos. Es la parte que más frecuentemente utilizaremos, y que con ella se construyen las consultas. Son comandos propios de este lenguaje: SELECT UPDATE INSERT INSERT INTO DELETE FROM DCL (Data Control Laguage), encargado de la seguridad de la base de datos, en todo lo referente al control de accesos y privilegios entre los usuarios. Son comandos propios de este lenguaje: GRANT REVOKE
4
Tipos de datos. SQL admite una variada gama de tipos de datos para el tratamiento de la información contenida en las tablas, los tipos de datos pueden ser numéricos (con o sin decimales), alfanuméricos, de fecha o booleanos(si o no).Según el gestor de base de datos que estemos utilizando los tipos de datos varían, pero se reducen básicamente a los expuestos anteriormente, aunque en la actualidad casi todos los gestores de bases de datos soportan un nuevo tipo, el BLOB (Binary Large Object), que es un tipo de datos especial destinado a almacenar archivos, imágenes... Numéricos Alfanuméricos FechaLógicoBLOB Integerchar(n)DateBitImage Numeric (n.m) Varchar (n,m) DateTim e Text Decimal (n,m) Float
5
Tipos de Datos Numéricos TipoDefinciónBytes IntegerValores enteros con signo.4 Numeric(n,m) Números reales de hasta 18 digitos (con decimales), donde n representa el total de dígitos admitidos (normalmente denominado precisión) y m el número de posiciones decimales (escala). 5-17 Decimal(n,m) Igual que el tipo numeric. 5-17 Float Número de coma flotante, este tipo de datos se suele utilizar para los valores en notación cientifica. 4-8
6
Tipos de Datos Alfanuméricos TipoDefinciónBytes char(n)Almacena de 1 a 255 caracteres alfanuméricos. Este valor viene dado por n, y es el tamaño utilizado en disco para almacenar dato. Es decir si defino un campo como char(255), el tamaño real del campo será de 255, aunque el valor solo contenga 100. 0-255 varchar(n)Igual que el tipo char, con la salvedad que varchar almacena únicamente los bytes que contenga el valor del campo. 0-255
7
Tipos de Datos Fecha TipoDefinciónBytes DateAlmacena fechas, con día, mes y año. 8 DatetimeAlmacena fechas con fecha y hora 4
8
Tipos de Datos Lógicos TipoDefinciónBytes BitTipo bit. Almacena un 0 ó no cero, según las bases de datos será 1 ó -1. Se aplica la lógica booleana, 0 es falso y no cero verdadero. 1 bit Tipos de Datos BLOB TipoDefinciónBytes ImageAlmacena imágenes en formato binario, hasta un máximo de 2 Gb de tamaño. 0-2Gb TextAlmacena texto en formato binario, hasta un máximo de 2 Gb de tamaño. 0-2Gb
9
Lenguaje de Definición de datos El lenguaje de definición de datos (DDL, Data Definition Language) es el encargado de permitir la descripción de los objetos que forman una base de datos. El lenguaje de definición de datos le va a permitir llevar a cabo las siguientes acciones: Creación de tablas, índices y vistas. Modificación de las estructura de tablas, índices y vistas. Supresión de tablas, índices y vistas.
10
Nomenclatura SímboloSignificado Encierran parámetros de una orden que el usuario debe sustituir al escribir dicha orden por los valores que queramos dar a los parámetros. [ ]Indica que su contenido es opcional. { } Indica que su contenido puede repetirse una o mas veces. | Separa expresiones. Indica que pueden emplearse una u otra expresión pero no más de una a la vez. La sintaxis empleada para la sentencias en las diferentes páginas esta basada en la notación EBNF. Vamos a ver el significado de algunos simbolos.
11
Creación de tablas CREATE TABLE ( [null | not null] [default ] {, [null | not null] [default ]} [, constraint primary key ( [,...n ])] [, constraint foreign key ( [,...n ]) references ( [,...n ] ) ] ) ;
12
MODIFICACION DE TABLAS Algunas veces puede ser necesario modificar la estructura de una tabla, comúnmente para añadir un campo o restricción. Para ello disponemos de la instrucción ALTER TABLE. ALTER TABLE nos va a permitir: Añadir campos a la estructura incial de una tabla.Añadir reestriciones y referencias.
13
Añadir campos a la Estructura ALTER TABLE ADD [null |not null] [default ] {, [null |not null] [default ]} ; Ejemplo: ALTER TABLE tCoches ADD num_plazas integer null default 5;
14
Añadir referencias de clave primaria CREATE TABLE tClientes ( codigo integer not null, nombre varchar(255) not null, apellidos varchar(255) null, nif varchar(10) null, telefono varchar(9) null, movil varchar(9) null ); ALTER TABLE tClientes ADD CONSTRAINT PK_tClientes primary key (codigo); Creamos la tabla clientes y le añadimos una restricción primary key a la que damos el nombre PK_tClientes en el campo código.
15
Añadir referencias de clave foránea CREATE TABLE tAlquileres ( codigo integer not null, codigo_cliente integer not null, matricula char(8) not null, fx_alquiler datetime not null, fx_devolucion datetime null ); ALTER TABLE tAlquileres ADD CONSTRAINT PK_tAlquileres primary key (codigo), CONSTRAINT FK_Clientes foreign key (codigo_cliente) references tClientes (Codigo), CONSTRAINT FK_Coches foreign key (matricula) references tCoches (matricula); En este código creamos la tabla tAlquileres, y luego mediante una sentencia ALTER TABLE añadimos una clave primaria llamada PK_tAlquileres en el campo codigo, una clave externa llamada FK_Clientes referenciada al codigo de la tabla tClientes, y por último otra clave externa llamada FK_Coches referenciada al campo matricula de la tabla tCoches.
16
ELIMINACION DE TABLAS DROP TABLE ; La instrucción DROP TABLE elimina de forma permanente la tabla y los datos en ella contenida. Si intentamos eliminar una tabla que tenga registros relacionados a través de una clave externa la instrucción DROP TABLE fallará por integridad referencial. Cuando eliminamos una tabla eliminamos también sus índices. Podemos eliminar una tabla de una base de datos mediante la instruccion DROP TABLE.
17
LENGUAJE DML Las sentencias DML del lenguaje SQL son las siguientes: LA sentencia SELECT, que se utiliza para extraer información de la base de datos, ya sea de una o varias tablas. La sentencia INSERT, cuyo cometido es insertar uno o varios registros en alguna tabla. LA sentencia DELETE, que borra registros de una tabla. La sentencia UPDATE, que modifica registros de una tabla
18
Sentencia SELECT Se utiliza para consultar información de determinadas tablas. El formato básico para hacer una consulta es el siguiente: SELECT [DISTINCT] select_expr [select_expr]… [FROM tabla] SELECT [ ALL | DISTINCT ] [{, }] FROM | [{, | }] [ WHERE [{ AND | OR }]] [ GROUP BY [{, }]] [ HAVING [{ AND | OR }]] [ ORDER BY | [ ASC | DESC ] [{, | [ ASC | DESC ]}]]
19
Nomenclatura FuncionSignificado SELECTPalabra clave que indica que la sentencia de SQL que queremos ejecutar es de selección. ALL Indica que queremos seleccionar todos los valores. Es el valor por defecto y no suele especificarse casi nunca. DISTINCT Indica que queremos seleccionar sólo los valores distintos. FROM Indica la tabla (o tablas) desde la que queremos recuperar los datos. En el caso de que exista más de una tabla se denomina a la consulta "consulta combinada" o "join". En las consultas combinadas es necesario aplicar una condición de combinación a través de una cláusula WHERE. WHERE Especifica una condición que debe cumplirse para que los datos sean devueltos por la consulta. Admite los operadores lógicos AND y OR. GROUP BY Especifica la agrupación que se da a los datos. Se usa siempre en combinación con funciones agregadas. HAVING Especifica una condición que debe cumplirse para los datos. Que especifica una condición que debe cumplirse para que los datos sean devueltos por la consulta. Su funcionamiento es similar al de WHERE pero aplicado al conjunto de resultados devueltos por la consulta. Debe aplicarse siempre junto a GROUP BY y la condición debe estar referida a los campos contenidos en ella.
20
Función FROM / ORDER BY SELECT matricula, marca, modelo, color, numero_kilometros, num_plazas FROM Vehiculos ORDER BY marca,modelo; La palabra clave FROM indica que los datos serán recuperados de la tabla Vehículos. La palabra ORDER BY indica que los datos serán ordenados por marca y por modelo en orden ascendente, de menor a mayor.
21
Clausula WHERE La palabra clave WHERE indica que los datos serán recuperados deberán cumplir con la restricción de ser iguales a la matricula 'M-1525-ZA’; La cláusula WHERE es la instrucción que nos permite filtrar el resultado de una sentencia SELECT. Habitualmente no deseamos obtener toda la información existente en la tabla, sino que queremos obtener sólo la información que nos resulte útil es ese momento. La cláusula WHERE filtra los datos antes de ser devueltos por la consulta. SELECT matricula, marca, modelo, color, numero_kilometros, num_plazas FROM tCoches WHERE matricula = 'M-1525-ZA'; Cuando en una cláusula where queremos incluir un tipo texto, debemos incluir el valor entre comillas simples.
22
Clausula WHERE con AND,OR,NOT La palabra clave del operador OR indica que devolverá los coches cuyas matriculas sean M- 1525-ZA o bien M-2566-AA. Podemos adicionar los operadores AND, OR, NOT para conjunciónón, disyunción o negación del parámetro a localizar. SELECT matricula, marca, modelo, color, numero_kilometros, num_plazas FROM tCoches WHERE matricula = 'M-1525-ZA' OR matricula = 'M-2566-AA' ; SELECT matricula, marca, modelo, color, numero_kilometros, num_plazas FROM Vehiculos WHERE NOT matricula = 'M-1525-ZA' ; WHERE puede ser negada a través del operador lógico NOT. La siguiente consulta devolverá todos los datos de la tabla Vehículos menos el que tenga matricula M-1525-ZA.
23
Clausula ORDER BY Esta clausula permite ordenar el conjunto de resultados de forma ascendente (ASC) o descendente (DESC) por una o varias columnas. Si no se indica ASC o DESC, por defecto es ASC. La columna por la que se quiere ordenar se puede expresar por el nombre de la columna, una expresión o bien la posición numérica del campo que se requiere ordenar. Para mostrar ordenados un conjunto de registros se utiliza la clausula ORDER BY de la sentencia SELECT. SELECT[DISTINCT] select_expr [,select_expr]… [FROM tabla] [WHERE filtro] [ORDER BY {nombre_columna | expr | posición}[ASC | DESC],…]
24
ORDER BY Podemos especificar la ordenación ascendente o descendente a través de las palabras clave ASC y DESC. La ordenación depende del tipo de datos que este definido en la columna, de forma que un campo numérico será ordenado como tal, y un alfanumérico se ordenará de la A a la Z, aunque su contenido sea numérico. De esta forma el valor 100 se devuelve antes que el 11. SELECT matricula, marca, modelo, color, numero_kilometros, num_plazas FROM Vehiculos ORDER BY marca ASC,modelo DESC;
25
ACTIVIDAD 3 Realizar un diccionario de las principales instrucciones del lenguaje de manipulación de datos con la sintaxis básica: Insertar datos. (INSERT) Actualización de Datos (UPDATE) Consultas Combinadas (JOIN)
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.