Download Tablas - swrecursos
Document related concepts
Transcript
Bases de Datos Conceptos de Bases de Datos Diferente Almacenamiento SALGRADE GRADE LOSAL HISAL --------- --------- --------1 700 1200 DEPTNO DNAME LOC 2 1201 1400 --------- -------------- ---------3 1401 2000 10 ACCOUNTING NEW YORK 4 2001 3000 20 RESEARCH DALLAS 5 3001 9999 30 SALES CHICAGO 40 OPERATIONS BOSTON DEPT Base de datos Hoja de cálculo Archivado en gabinete ¿Qué es una Base de Datos? • Una Base de Datos no es más que un conjunto de información (un conjunto de datos) relacionada que se encuentra agrupada o estructurada. • Es un sistema formado por un conjunto de datos almacenados en memorias masivas que permiten acceso directo a ellos y un conjunto de programas que manipulan ese conjunto de datos. Base de Datos • Es un conjunto exhaustivo de datos estructurados, fiables y homogéneos, organizados independientemente de su utilización y de su implementación en computadora, accesibles en tiempo real, compartibles por usuarios concurrentes que tienen necesidades de información diferentes y no predecibles en el tiempo. Modelos de Datos Modelo del sistema en la mente de los clientes Modelo de entidad del modelo del cliente Modelo de tablas del modelo de entidad Servidor Tablas en disco DBMS • Entre la Base de Datos física (el almacenamiento real de los datos) y los usuarios del sistema existe un interfaz de software que recibe el nombre de DBMS y es el responsable de tratar todas las peticiones de información de los usuarios. • Un DBMS es un conjunto de programas que permite controlar el acceso y la utilización de la Base de Datos, por los usuarios, para incluir, modificar o recuperar información, incluyendo funciones para permitir la independencia, la integridad y la seguridad de los datos, así como la concurrencia de usuarios. Sistema de Base de Datos Servidor Tablas de usuario Diccionario de datos Concepto de base de datos relacional –El Dr. E. F. Codd propuso el modelo relacional para sistemas de base de datos en 1970. –Es la base para el “relational database management system” (RDBMS). Bases de Datos Relacionales • Los sistemas relacionales operan conceptualmente sobre archivos o Tablas de datos y no sobre los datos individuales contenidos en el archivo. • Las tablas permiten representar la información de forma mas compacta. • Es posible acceder a la información contenida en dos o mas tablas simultáneamente. Definición de RDBMS •Una base de datos relacional es una colección de relaciones o tablas bidimensionales. Database Nombre de Tabla : EMP EMPNO 7839 7698 ENAME KING BLAKE JOB PRESIDENT MANAGER 7782 7566 CLARK JONES MANAGER MANAGER Nombre de Tabla: DEPT DEPTNO 10 30 DEPTNO 10 20 DNAME ACCOUNTING RESEARCH LOC NEW YORK DALLAS 10 20 30 40 SALES OPERATIONS CHICAGO BOSTON Propiedades de los RDBMS •Una base de datos relacional: – Puede ser accedida y modificada ejecutando instrucciones del lenguaje estructurado de consultas – “structured query language” (SQL) – Contiene una colección de tablas sin apuntadores físicos – Utiliza un conjunto de operadores El lenguaje SQL • SQL: Structured Query Language. • Cualquier DBMS lleva asociado un lenguaje de manipulación de datos compuesto de una serie de comandos u órdenes que permiten interrogar y modificar la Base de Datos. Comunicación con un DBMS utilizando SQL La sentencia de SQL es introducida SQL> SELECT loc 2 FROM dept; La sentencia de SQL es enviada al RDBMS Database Los datos son desplegados LOC ------------NEW YORK DALLAS CHICAGO BOSTON BD Relacional • • • Tabla = filas y columnas Fila = registro = entrada en la tabla Columna = Campo de datos Campo 1 Campo 2 Campo 3 Campo 4 Propiedades de los datos • Estructurados independientemente de las aplicaciones y del soporte de almacenamiento que los contiene. • Presentan la menor redundancia posible. • Son compartidos por varios usuarios y/o aplicaciones. • Están bajo un control centralizado. Tipos de datos Alfabético Alfanúmerico {A…Z} + {a…z} + {caracteres especiales} {A…Z} + {a…z} + {0..9}+ {caracteres especiales} Numérico {0..9} + { . } + {0..9} Fechas Cualquier fecha valida del calendario Tipos de datos Carácter Nombres Numérico entero 1,200 Numérico decimal Fecha 45127.25633 Booleano Verdadero - Falso 01-marzo-2004 Características de las Tablas • Una tabla está formada por Filas y Columnas. • Las Filas son equivalentes a los Registros de un archivo clásico (contienen los valores de los objetos o entidades descritas). • Las Columnas son equivalentes a los Campos (que representan los atributos de los objetos o entidades descritas). El conjunto de valores que puede tomar un campo se llama dominio. Ejemplo de Tabla Clave Primaria # Nombre Apellido Teléfono 2341167 Pedro Alonso 6273652 Nombre Campos Registro 5625711 María Gómez 6718234 Registro 6718273 José López 6715629 Registro Campo Campo Campo Campo Terminología de BD 2 3 EMPNO ENAME JOB 4 MGR HIREDATE SAL COMM DEPTNO 6 ------------- ------------ --------------------- -------- ---------------- ----------- -------------- 1 7839 KING PRESIDENT 7698 BLAKE MANAGER 7782 CLARK ----------- 17-NOV-81 5000 10 7839 01-MAY-81 2850 30 MANAGER 7839 09-JUN-81 2450 10 7566 JONES MANAGER 7839 02-APR-81 2975 20 7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30 7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30 7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30 7900 JAMES CLERK 7698 03-DEC-81 950 7521 WARD SALESMAN 7698 22-FEB-81 1250 7902 FORD ANALYST 7566 03-DEC-81 3000 20 7369 SMITH CLERK 7902 17-DEC-80 800 20 7788 SCOTT ANALYST 7566 09-DEC-82 3000 20 7876 ADAMS CLERK 7788 12-JAN-83 1100 20 7934 MILLER CLERK 7782 23-JAN-82 1300 10 5 30 500 30 Relacionando múltiples tablas • Cada fila de datos en una tabla es identificada en forma única por la llave primaria (PK). • Se pueden relacionar datos lógicamente de múltiples tablas utilizando llaves foráneas (FK). Nombre de Tabla: EMP EMPNO 7839 7698 7782 7566 ENAME KING BLAKE CLARK JONES Llave primaria JOB PRESIDENT MANAGER MANAGER MANAGER Nombre de Tabla : DEPT DEPTNO 10 30 10 20 Llave foránea DEPTNO 10 20 30 40 DNAME ACCOUNTING RESEARCH SALES OPERATIONS Llave primaria LOC NEW YORK DALLAS CHICAGO BOSTON El concepto: LLAVE • Una clave es una referencia que se utiliza para identificar los registros de forma única y está formada por uno o mas atributos (columnas) de los registros. • La Llave Primaria o principal es la que es mínima en cuanto al número de campos que la componen. La Llave Primaria • Es importante porque permite acceder a cada uno de los elementos de la Base de Datos por direccionamiento asociativo mediante la combinación de tres factores: – El nombre de la Tabla. – La columna. – El valor de la llave. Leyes básicas de los DBMS • La Base de Datos contendrá generalmente muchas Tablas. • Una Tabla sólo contiene un número fijo de Campos. • El nombre de los Campos que componen una Tabla es distinto. • Cada Registro de una Tabla es único. • El orden de los Registros y el orden de los Campos de una Tabla no está determinado. • Para cada Campo existe un conjunto de valores posibles (Dominio). Diseño de B de D Relacionales I • Planificación del tipo de información a almacenar: – Información disponible. – Información que necesitamos. • Esquematizar sobre papel el problema. • Considerar los datos a gestionar y estimar el espacio de memoria que necesitan. Diseño de B de D Relacionales II • Los dos aspectos mas importantes a la hora del diseño de las Tablas son: – Campos • Nombre del campo • Tipo del campo • Anchura del campo – Datos • Caracteres (texto), valores numéricos, fechas, informaciones lógicas, imágenes, multimedia. Fases del diseño de una B de D • Definición de los datos (análisis de los datos existentes). • Refinamiento de los datos (depuración de los datos necesarios). • Establecer relaciones entre los campos. Definición de los datos • Lista en papel de todos los atributos (Campos). • Examinar la aplicación con detalle para determinar exactamente la clase de información que debe almacenarse en la Base de Datos. Definición de datos (ejemplo) • Gestión del ingreso de pacientes en un hospital. – – – – – – – – Nombre del paciente Apellidos del paciente Dirección del paciente Número de teléfono Fecha de ingreso Procedencia (con o sin seguro) Destino del paciente Observaciones Refinamiento de los datos • Refinar la lista inicial de campos de modo que los campos constituyan una descripción precisa de los tipos de datos necesarios. • Importante incluir las sugerencias de los futuros usuarios de la Base de Datos. Refinamiento de los datos (ejem 1) • • • • • • • • • Nombre del paciente Apellidos del paciente Domicilio Población Provincia Código postal Número de teléfono Procedencia Fecha de ingreso • • • • • • Nombre del hospital Médico responsable Número de planta Número de cama Número de historial clínico Observaciones Refinamiento de los datos (ejem 2) • • • • • • • • • • Nombre del paciente Apellidos del paciente Domicilio Población Provincia Código postal Número de teléfono Procedencia Fecha de ingreso Nombre del hospital • • • • • • • • • • Médico responsable Nombre del médico Apellidos del médico Especialidad Número de colegiado Cargo Número de planta Número de cama Número de historial clínico Observaciones Consideración de las relaciones • Inspeccionar los Campos de la Tabla para localizar redundancias en los datos a introducir. • Esta estrategia nos permitirá determinar si es conveniente o no utilizar varias Tablas y, en su caso, la forma de establecer las relaciones futuras entre los campo. Relaciones (ejemplo 1) • Cada vez que se dé de alta a un paciente hay que complementar los datos del médico, pudiéndose ser el mismo médico para diversos paciente. • Por ello conviene separar los datos en dos Tablas: – Pacientes – Médicos Relaciones (ejemplo 2) • Tabla Pacientes – – – – – – – – – – – – – – – Número SS paciente Nombre del paciente Apellidos del paciente Domicilio Población Provincia Código postal Número de Teléfono Procedencia Fecha de ingreso Código del médico responsable Número de planta Número de cama Número de historial clínico Observaciones • Tabla médicos – – – – – – – Código del médico responsable Nombre Apellidos Especialidad Número de colegiado Cargo Observaciones Relaciones (ejemplo 3) • Se ha añadido un código de identificación del médico responsable, presente en ambas Tablas. • Se ha añadido el Número de IMSS para identificar de forma única a cada paciente. • Observando la Tabla pacientes se ve que esta se puede descomponer en: – Tabla Pacientes (datos de identificación) – Tabla Ingresos Relaciones (ejemplo 4) • Tabla pacientes – – – – – – – – – Número de IMSS Nombre del paciente Domicilio Población Provincia Código postal Número de teléfono Número de historial clínico Observaciones • Tabla ingresos – – – – Número de historial clínico Procedencia Fecha de ingreso Código de identificación del médico responsable – Número de planta – Número de cama – Observaciones Relaciones (ejemplo 5) • Tabla médicos – Código de identificación del médico – Nombre – Apellidos – Especialidad – Número de colegiado – Cargo – Observaciones