Manejadores de Bases de Datos · 2020. 3. 3. · Bases de datos estructuradas –SQL Lenguaje...

24
Facultad de Estadística e Informática Manejadores de Bases de Datos

Transcript of Manejadores de Bases de Datos · 2020. 3. 3. · Bases de datos estructuradas –SQL Lenguaje...

Page 1: Manejadores de Bases de Datos · 2020. 3. 3. · Bases de datos estructuradas –SQL Lenguaje Estructurado de Consultas Componentes de SQL Integridad. El LDD de SQL incluye comandos

Facultad de Estadística e Informática

Manejadores de Bases de Datos

Page 2: Manejadores de Bases de Datos · 2020. 3. 3. · Bases de datos estructuradas –SQL Lenguaje Estructurado de Consultas Componentes de SQL Integridad. El LDD de SQL incluye comandos

Facultad de Estadística e Informática

Bases de datos estructuradas – SQL Lenguaje Estructurado de Consultas

Bibliografía

SILBERSCHATZ, Abraham, KORTH, Henry, F y SUDARSHAN S. Fundamentos de bases de datos, 5ta. McGraw Hill. 2010.

Date, C. J. (2001). Introducción a los sistemas de bases de datos. (7ma ed.). México: Pearson Educación: Addison Wesley.

Page 3: Manejadores de Bases de Datos · 2020. 3. 3. · Bases de datos estructuradas –SQL Lenguaje Estructurado de Consultas Componentes de SQL Integridad. El LDD de SQL incluye comandos

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.Lenguaje de consultas (SQL): características, consulta y manipulación.

Creación y manejo de bases de datos (importar, exportar)

Restricciones de integridad.

Operaciones sobre BD relacionales

Page 4: Manejadores de Bases de Datos · 2020. 3. 3. · Bases de datos estructuradas –SQL Lenguaje Estructurado de Consultas Componentes de SQL Integridad. El LDD de SQL incluye comandos

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.Lenguaje de consultas (SQL): características, consulta y manipulación.

Creación y manejo de bases de datos (importar, exportar)

Restricciones de integridad.

Operaciones sobre BD relacionales

Page 5: Manejadores de Bases de Datos · 2020. 3. 3. · Bases de datos estructuradas –SQL Lenguaje Estructurado de Consultas Componentes de SQL Integridad. El LDD de SQL incluye comandos

Facultad de Estadística e Informática

Bases de datos estructuradas –Modelo relacional.

Son condiciones que garantizan que las modificaciones realizadas en la base de datos por los usuarios autorizados no den lugar a una pérdida de la consistencia de los datos.

Protegen contra daños accidentales a las bases de datos.

Qué son las restricciones de integridad

Page 6: Manejadores de Bases de Datos · 2020. 3. 3. · Bases de datos estructuradas –SQL Lenguaje Estructurado de Consultas Componentes de SQL Integridad. El LDD de SQL incluye comandos

Facultad de Estadística e Informática

Bases de datos estructuradas –Modelo relacional.

Consistencia: Coherencia entre todos los datos de la base de datos.

Integridad: Es la corrección y exactitud de la información contenida en la base de datos.

Qué son las restricciones de integridad

Page 7: Manejadores de Bases de Datos · 2020. 3. 3. · Bases de datos estructuradas –SQL Lenguaje Estructurado de Consultas Componentes de SQL Integridad. El LDD de SQL incluye comandos

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Ejemplos de restricciones de integridad:El nombre de un alumno no puede ser Nulo.No se permite tener dos alumnos con la misma matrícula.Todos los ID de clientes de la relación Cliente, deben tener un número ID cliente correspondiente en la relación Reservacion.

Page 8: Manejadores de Bases de Datos · 2020. 3. 3. · Bases de datos estructuradas –SQL Lenguaje Estructurado de Consultas Componentes de SQL Integridad. El LDD de SQL incluye comandos

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

Algunas restricciones sobre una sola relación.

Valores no nulos (Not null)

Llaves primarias y Llaves foráneas (Primary key, Foreignkey)

Page 9: Manejadores de Bases de Datos · 2020. 3. 3. · Bases de datos estructuradas –SQL Lenguaje Estructurado de Consultas Componentes de SQL Integridad. El LDD de SQL incluye comandos

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.Valores No nulos (Not null)

Prohíbe la inserción de valores nulos para un atributo.

Cualquier modificación de la base de datos que haga que se inserte un valor nulo en un atributo declarado como not nullgenera un diagnóstico de error.

SQL prohíbe los valores nulos en la clave primaria.

Page 10: Manejadores de Bases de Datos · 2020. 3. 3. · Bases de datos estructuradas –SQL Lenguaje Estructurado de Consultas Componentes de SQL Integridad. El LDD de SQL incluye comandos

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.Llave primaria (Primary key)

Identifica de forma única cada tupla o registro de una relación.

CREATE TABLE Estudiante(matricula integer, ap_paterno varchar(30), ap_materno varchar(30), PRIMARY KEY (matricula));

Page 11: Manejadores de Bases de Datos · 2020. 3. 3. · Bases de datos estructuradas –SQL Lenguaje Estructurado de Consultas Componentes de SQL Integridad. El LDD de SQL incluye comandos

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

INTEGRIDAD REFERENCIAL.

Tiene el objetivo de garantizar que el valorque aparece en una relación para unatributo aparezca para otro atributo en otra relación.

Page 12: Manejadores de Bases de Datos · 2020. 3. 3. · Bases de datos estructuradas –SQL Lenguaje Estructurado de Consultas Componentes de SQL Integridad. El LDD de SQL incluye comandos

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.

INTEGRIDAD REFERENCIAL.

CLAVE FORÁNEA

Page 13: Manejadores de Bases de Datos · 2020. 3. 3. · Bases de datos estructuradas –SQL Lenguaje Estructurado de Consultas Componentes de SQL Integridad. El LDD de SQL incluye comandos

Facultad de Estadística e Informática

Bases de datos estructuradas – Modelo relacional.Lenguaje de consultas (SQL): características, consulta y manipulación.

Creación y manejo de bases de datos (importar, exportar)

Restricciones de integridad.

Operaciones sobre BD relacionales

Page 14: Manejadores de Bases de Datos · 2020. 3. 3. · Bases de datos estructuradas –SQL Lenguaje Estructurado de Consultas Componentes de SQL Integridad. El LDD de SQL incluye comandos

Facultad de Estadística e Informática

Bases de datos estructuradas – SQL Lenguaje Estructurado de Consultas

SQL es un lenguaje que además de permitir la consulta de información en las bases de datos, permite definir la estructura de los datos, modificarlos datos de la base de datos y especificar restricciones de seguridad.

Page 15: Manejadores de Bases de Datos · 2020. 3. 3. · Bases de datos estructuradas –SQL Lenguaje Estructurado de Consultas Componentes de SQL Integridad. El LDD de SQL incluye comandos

Facultad de Estadística e Informática

Bases de datos estructuradas – SQL Lenguaje Estructurado de Consultas

Breve historiaIBM desarrolló la versión original de SQL, originalmente Sequel, como parte del proyecto System R a principios de 1970.

En 1986, ANSI (American National Standards Institute, Instituto nacional americano de normalización) e ISO (International Standards Organization, Organización internacional de normalización) publicaron una norma SQL, denominada SQL-86.

En 1989 ANSI publicó una extensión de la norma para SQL denominada SQL-89.

La siguiente versión de la norma fue SQL-92 seguida de SQL:1999; SQL:2003, SQL:2005, SQL:2008, SQL:2011, SQL:2016.

Page 16: Manejadores de Bases de Datos · 2020. 3. 3. · Bases de datos estructuradas –SQL Lenguaje Estructurado de Consultas Componentes de SQL Integridad. El LDD de SQL incluye comandos

Facultad de Estadística e Informática

Bases de datos estructuradas – SQL Lenguaje Estructurado de ConsultasComponentes de SQL

Lenguaje de definición de datos (LDD). El LDD de SQL proporciona comandos para la definición

de esquemas de relación, borrado de relaciones y modificación de los esquemas de relación.

Lenguaje interactivo de manipulación de datos (LMD). El LMD de SQL incluye un lenguaje de

consultas basado tanto en el álgebra relacional como en el cálculo relacional de tuplas.

También contiene comandos para insertar, borrar y modificar tuplas.

Page 17: Manejadores de Bases de Datos · 2020. 3. 3. · Bases de datos estructuradas –SQL Lenguaje Estructurado de Consultas Componentes de SQL Integridad. El LDD de SQL incluye comandos

Facultad de Estadística e Informática

Bases de datos estructuradas – SQL Lenguaje Estructurado de Consultas

Componentes de SQL

Integridad. El LDD de SQL incluye comandos para especificar las restricciones de integridad que deben cumplir los datos almacenados en la base de datos. Las actualizaciones que violan las restricciones de integridad se rechazan.

Definición de vistas. El LDD de SQL incluye comandos para la definición de vistas.

Page 18: Manejadores de Bases de Datos · 2020. 3. 3. · Bases de datos estructuradas –SQL Lenguaje Estructurado de Consultas Componentes de SQL Integridad. El LDD de SQL incluye comandos

Facultad de Estadística e Informática

Bases de datos estructuradas – SQL Lenguaje Estructurado de ConsultasControl de transacciones. SQL incluye comandos para especificar el comienzo y el final de las transacciones.

Autorización. El LDD de SQL incluye comandos para especificar los derechos de acceso a las relaciones y a las vistas.

Page 19: Manejadores de Bases de Datos · 2020. 3. 3. · Bases de datos estructuradas –SQL Lenguaje Estructurado de Consultas Componentes de SQL Integridad. El LDD de SQL incluye comandos

Facultad de Estadística e Informática

Bases de datos estructuradas – SQL Lenguaje Estructurado de Consultas

Lenguaje de definición de datosEl LDD permite especificar un conjunto de relaciones, así como información relativa a ellas tal como:• El esquema de cada relación.

• El dominio de valores asociado a cada atributo.

• Las restricciones de integridad.

• El conjunto de índices que se deben mantener para cada relación.

• La información de seguridad y de autorización de cada relación.

• La estructura de almacenamiento físico de cada relación en el disco.

Page 20: Manejadores de Bases de Datos · 2020. 3. 3. · Bases de datos estructuradas –SQL Lenguaje Estructurado de Consultas Componentes de SQL Integridad. El LDD de SQL incluye comandos

Facultad de Estadística e Informática

Bases de datos estructuradas – SQL Lenguaje Estructurado de Consultas

Denición básica de esquemas en SQLLas relaciones se definen mediante el comando create table:

donde r es el nombre de la relación, cada Ai es el nombre

de un atributo del esquema de la relación r y Di

es el tipo de dominio de los valores del dominio del

atributo Ai.

Page 21: Manejadores de Bases de Datos · 2020. 3. 3. · Bases de datos estructuradas –SQL Lenguaje Estructurado de Consultas Componentes de SQL Integridad. El LDD de SQL incluye comandos

Facultad de Estadística e Informática

Bases de datos estructuradas – SQL Lenguaje Estructurado de ConsultasEn cuanto a las restricciones de integridad, existen varias. Por el momento solo analizaremos

La especificación de clave primaria determina que los

atributos Aj1 ;Aj2 ……;Ajm forman la clave primaria de la

relación.

Los atributos de la clave primaria tienen

que ser no nulos y únicos (ninguna tupla puede tener un

valor nulo para un atributo de la clave primaria y ningún

par de tuplas de la relación puede ser igual en todos los

atributos de la clave primaria1.

Aunque la especificación de clave primaria es opcional,

suele ser una buena idea especificar una clave primaria

para cada relación.

Page 22: Manejadores de Bases de Datos · 2020. 3. 3. · Bases de datos estructuradas –SQL Lenguaje Estructurado de Consultas Componentes de SQL Integridad. El LDD de SQL incluye comandos

Facultad de Estadística e Informática

Bases de datos estructuradas – SQL Lenguaje Estructurado de Consultas

Ejemplos:

Page 23: Manejadores de Bases de Datos · 2020. 3. 3. · Bases de datos estructuradas –SQL Lenguaje Estructurado de Consultas Componentes de SQL Integridad. El LDD de SQL incluye comandos

Facultad de Estadística e Informática

Bases de datos estructuradas – SQL Lenguaje Estructurado de ConsultasEjercicio:

Crear el esquema de la base de datos del ejercicio:

REGIÓN ( Codigo_region, Nombre_región)

PROVINCIA (CódigoProvincia, Nombre_provincia)

LOCALIDAD (Código_localidad, Nombre)

EMPLEADO (Id_E, DNI_E, Nombre, Teléfono, Salario)

CREATE DATABASE empresa CHARACTER SET UTF8 COLLATE UTF8_unicode_ci;

Page 24: Manejadores de Bases de Datos · 2020. 3. 3. · Bases de datos estructuradas –SQL Lenguaje Estructurado de Consultas Componentes de SQL Integridad. El LDD de SQL incluye comandos

Facultad de Estadística e Informática

Manejadores de Bases de Datos

Gracias por su atención