1 Especialización en Administración de Bases de DatosInstructor: Ing. Sergio Arturo Medina Castillo
2 Especialización en Administración de Bases de DatosModelo Relacional - SQL -> DDL Lenguaje estructurado para bases de datos - SQL Temas Programación en Bases de datos PL-SQL Instalación, configuración, manejo de usuarios Administración de bases de datos
3 Especialización en Administración de Bases de DatosTema No. 1: Parte A - Modelo Relacional
4 Especialización en Administración de Bases de DatosCompetencia Manejo información BD Modelar BD Modelo Relacional Estándar hoy en día Tema No. 1: Ejes temáticos --Modelo relacional --Normalización --Esquema BD (SQL-DDL)
5 Especialización en Administración de Bases de DatosALGO DE HISTORIA El Dr. Peter Pin-Shan Chen es el creador del Modelo Entidad-Relación (Modelo ER). El Modelo ER ha sido la base para diversas metodologías sobre análisis y diseño de sistemas, herramientas de ingeniería de software asistida por computador (CASE) y repositorios de sistemas. En este sentido, el Modelo ER ha sido utilizado por el IBM Repository Manager/MVS y por el DEC CDD/Plus. Los términos “Modelo de Entidad-Relación (Modelo ER)”, “Diagrama de Entidad-Relación (Diagrama ER)” y “Peter Chen” son utilizados habitualmente en diccionarios on-line, libros, artículos, páginas Web, textos de aprendizaje y en especificaciones de productos comerciales. Al Dr. Peter Chen le debemos la fundamentación detallada de todo lo que es bases de datos
6 Especialización en Administración de Bases de DatosALGO DE HISTORIA Hoy en día, es muy probable encontrar al menos un capítulo que hable sobre el Modelo ER en libros de diseño de sistemas de información o de bases de datos. También es muy probable ver que el Modelo ER se explica en clases de Gestión de la Información. Por ejemplo se explica en: En la Universidad Estatal de Louisiana (El Modelo ER se enseña en el Departamento de Ciencias de la Computación del Colegio de Ciencias Básicas. En el Departamento de Ingeniería Industrial y Sistemas de Manufacturación del Colegio de Ingenieros. El Modelo ER también se enseña en otras universidades, por ejemplo: En la Escuela de Administración de la Información en Berkeley, En los programas de Biología Computacional y de Bioinformática de la Universidad de Pennsylvania. En la Universidad de Drexel. En la Universidad de Virginia En la Universidad de Hong Kong. Estos son sólo algunos ejemplos, ya que actualmente se enseña el Modelo ER en diversas instituciones de educación superior.
7 Especialización en Administración de Bases de DatosALGO DE HISTORIA Edgar Frank Codd: Científico informático inglés (23 de agosto de de abril de 2003), conocido por sus aportes a la teoría de bases de datos relacionales. En las décadas de los sesenta y los setenta trabajó en sus teorías sobre modelado de datos, publicando su trabajo "Un modelo relacional de datos para grandes bancos de datos compartidos“. El Señor codd tomo el Modelo-Entidad-Relación (ER) y le aplico las 12 reglas de codd que determinan la fidelidad de un sistema relacional al modelo relacional. VER LAS 12 REGLAS DE CODD Trajo el concepto de llevar a desarrollar los DBA´S Algunos de los DBA MAS CONOCIDOS SON: ORACLE DB2 SQL SERVER MYSQL POSTGRESQL Mas utilizado en el mercado
8 Especialización en Administración de Bases de DatosModelo Relacional - Características
9 Especialización en Administración de Bases de DatosModelo Relacional - ESTRUCTURA Organización de los Datos: Información (Entidades, tablas) Relaciones Aspectos Modelo Relacional Manipulación de los Datos: Lenguaje estructurado y estándar SQL
10 Especialización en Administración de Bases de DatosModelo Relacional - ORGANIZACION DE LA INFORMACION: ENTIDAD Campo Objeto -> Almacenar información Unidad de Información Entidad-Tabla Estructura de Datos: Tipo y longitud Aspectos Modelo Relacional Valor Nulo: Permiso campo vacío Dominio: Valores de un campo (Finito – No Finito) Llave Primaria: Campo Representativo - Unico
11 Especialización en Administración de Bases de DatosModelo Relacional - ORGANIZACION DE LA INFORMACION: RELACION Asociación de 2 entidades Cardinalidad: Un registro de una entidad – Cuántos produce – Entidad relacionada (1 a 1) y ( 1 a N) Relación Tipo de Relación: Sumatoria de cardinalidades (1 a 1), (1 a N) y (M a M) Aspectos Modelo Relacional Llave Foránea: Campo de Relación en la tabla hija Integridad Referencial: Manejo de Huérfanos Operaciones: Cascada , Nulll, no permitirlas Ver Ejemplos de relaciones
12 Especialización en Administración de Bases de DatosModelo Relacional - ORGANIZACION DE LA INFORMACION: RELACION EJEMPLOS DE RELACIONES Proveedor Id_prove Nom_prove Cliente Id_client Nom_client Paciente Id_pacient Nom_pacient M: 1: M: 1: Producto Id_prove Nom_prove Cta_Ahorro Id_cta tipo_cta Historia Id_hist Nom_hosp
13 Especialización en Administración de Bases de DatosTema No. 1: Parte B - SQL -> DDL
14 Especialización en Administración de Bases de DatosAnálisis Diseño Construcción / Programación Diccionario de datos Modelo Conceptual BD (Modelo ER) Esquema BD Herramienta software Normalización DBMS Para implementar 1 FN= Identificar Entidades Relación entre campos (Modelo ER) 2 FN= Dependencias Funcionales DirectasLlaves primarias Transitivas 3 FN= Eliminar Relaciones DFT 4 FN= Relaciones Multivaluadas
15 Especialización en Administración de Bases de DatosDueño(OWNER) de las tablas Usuario Estructura Tabla Una Sola para todas las tabla Base de Datos DBMS para desarrollo de aplicaciones de alta complejidad
16 Especialización en Administración de Bases de DatosLenguaje de Definición de Datos DDL SQL Mantenimiento DML Lenguaje de Manipulación de Datos Consulta Lenguaje Estructurado y Estándar para el manejo de B.D.
17 Especialización en Administración de Bases de DatosCreate Table Creación de Base de Datos Alter Table Modificar estructura de B.D. DDL Visualizar estructura de tabla Cambiar nombre a una tabla Eliminar una tabla Describe Rename Drop Table Lenguaje de Definición de Datos
18 Especialización en Administración de Bases de DatosCREATE TABLE Nombre ( campo TIPO(LONG), CONSTRAINT Reglas de Integridad ); Create Table NOT NULL (Valores Nulos) Nombre: Tabla_Campo_nn PRIMARY KEY (Llave Primaria) Nombre: Tabla_pk CONSTRAINT FOREIGN KEY (Llave Foránea) Nombre: Tabla_Campo_fk UNIQUE (Valor sin duplicados) Nombre: Tabla_Campo_un CHECK (Chequeo - Condiicones) Nombre: Tabla_Campo_ck Creación de Tablas
19 Especialización en Administración de Bases de DatosCHAR(n): Alfanumérico (Reserva espacio de n) VARCHAR2(n): Alfanumérico (Solo usa los ocupados) Tipos de Datos NUMBER(p,d): Numérico, p=dígitos, d:decimales DATE: Fecha,Hora (Manejar formatos) Creación de Tablas
20 Especialización en Administración de Bases de DatosDROP TABLE Nombre; Drop Table Eliminar Tablas
21 Especialización en Administración de Bases de DatosALTER TABLE Nombre ADD ( campo TIPO(LONG) NULO) , MODIFY ( campo TIPO(LONG) NULO); Alter Table Añadir más campos Modificar ancho columna, tipo de datos, restricciones. Modificar estructura de Tablas
22 Especialización en Administración de Bases de DatosDESCRIBE Tabla; Otros Comandos RENAME Tabla_Vieja TO Tabla_Nueva; Visualizar y Renombrar tablas
23 Especialización en Administración de Bases de DatosEdit (ED): Crear ó modificar un archivo de comandos @Archivo: Ejecuta archivo de comandos Comandos SQL PLUS EXIT: Salir Extensiones de archivos de comandos: TXT ó SQL Comandos del SQL PLUS
24 Especialización en Administración de Bases de Datos1. Operaciones de las Relaciones en ORACLE 2. Manejo de consecutivos en códigos Averiguar con ejemplo Tarea