base de datos

123
Colegio Técnico Salesiano APLICACIONES INFORMÁTICAS Sistemas Gestores de Bases de Datos Ing. Wilson Cedillo P. MSc. Terceros de Bachillerato 2010-2011 Sistemas Gestores de Base de Datos

Upload: karli-jimenez

Post on 19-Oct-2015

54 views

Category:

Documents


5 download

TRANSCRIPT

  • CCoolleeggiioo TTccnniiccoo SSaalleessiiaannoo

    APLICACIONES INFORMTICAS

    Sistemas Gestores de Bases de Datos

    Ing. Wilson Cedillo P. MSc.

    Terceros de Bachillerato

    2010-2011

    Siste

    ma

    s Ge

    store

    s de

    Ba

    se d

    e D

    ato

    s

  • IIINNNDDDIIICCCEEE GGGEEENNNEEERRRAAALLL

    INDICE GENERAL .................................................................................................................................... 2

    INDICE DE GRFICOS .............................................................................................................................. 5

    UNIDAD 1 .............................................................................................................................................. 8

    TEMA: SISTEMAS DE BASES DE DATOS ................................................................................................... 8

    1. INTRODUCCIN TERICA ........................................................................................................................ 8

    1.1 Dato e Informacin ................................................................................................................. 8

    1.2 Qu es una base de datos? ................................................................................................... 8

    1.3 El sistema de gestin de la base de datos .............................................................................. 9

    1.4 Objetivos de los sistemas de bases de datos .......................................................................... 9

    2. PLANIFICACIN Y DISEO DE BASES DE DATOS .......................................................................................... 11

    2.1 Introduccin Terica ............................................................................................................. 11

    2.2 Ciclo de vida de las Aplicaciones de bases de datos ............................................................. 12

    2.3 Diseo de bases de datos ...................................................................................................... 13

    3. DISEO CONCEPTUAL DE BASES DE DATOS UTILIZANDO EL MODELO E-R ........................................................ 15

    3.1 Modelos de datos ................................................................................................................. 15

    3.2 El modelo E-R ........................................................................................................................ 15

    3.3 Generalizacin, especializacin y Agregacin ...................................................................... 19

    3.4 Tcnica para el modelado entidad relacin .......................................................................... 21

    3.5 Ejercicios Resueltos ............................................................................................................... 21

    4. DISEO LGICO DE BASES DE DATOS UTILIZANDO EL MODELO RELACIONAL .................................................... 23

    4.1 Introduccin Terica ............................................................................................................. 23

    4.2 El Modelo Relacional ............................................................................................................ 23

    4.3 Conversin del diagrama E-R a tablas .................................................................................. 26

    5. NORMALIZACIN DESDE EL PUNTO DE VISTA DEL DISEO LGICO DE UNA BASE DE DATOS ................................. 36

    5.1 Introduccin Terica ............................................................................................................. 36

    5.2 Dependencia Funcional ......................................................................................................... 36

    5.3 Qu es la Normalizacin? ................................................................................................... 38

    5.4 Primera Forma Normal (1FN) ............................................................................................... 39

    5.5 Segunda Forma Normal (2NF) .............................................................................................. 45

    5.6 Tercera Forma Normal (3FN) ................................................................................................ 47

    UNIDAD 2 ............................................................................................................................................ 51

    TEMA: LENGUAJE DE CONSULTAS SQL ................................................................................................. 51

    1. INTRODUCCIN TERICA ...................................................................................................................... 51

    1.1 Qu es el lenguaje de consultas SQL? ................................................................................. 51

    1.2 Breve Historia ....................................................................................................................... 51

    1.3 Componentes del SQL ........................................................................................................... 53

    2. ESTRUCTURA BSICA ........................................................................................................................... 54

    3. ALIAS ............................................................................................................................................... 55

    4. TIPOS DE DATOS ................................................................................................................................. 56

    5. PREDICADOS Y CONECTORES ................................................................................................................. 56

    6. TUPLAS DUPLICADAS ........................................................................................................................... 58

    7. OPERACIONES DE CONJUNTO. ............................................................................................................... 59

  • INDICES

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    3

    7.1 Pertenencia a un conjunto .................................................................................................... 60

    7.2 Comparacin de conjuntos ................................................................................................... 61

    8. PRUEBAS PARA RELACIONES VACAS ........................................................................................................ 61

    9. ORDENACIN DE LA PRESENTACIN DE TUPLAS ......................................................................................... 62

    10. FUNCIONES DE AGREGACIN ............................................................................................................ 62

    11. MODIFICACIN DE LA BASE DE DATOS ................................................................................................ 64

    11.1 Eliminacin ........................................................................................................................... 64

    11.2 Insercin ............................................................................................................................... 65

    11.3 Actualizaciones ..................................................................................................................... 65

    11.4 Valores nulos ........................................................................................................................ 66

    12. DEFINICIN DE DATOS ..................................................................................................................... 66

    12.1 Creacin ................................................................................................................................ 66

    12.2 Eliminacin ........................................................................................................................... 66

    12.3 Actualizacin......................................................................................................................... 67

    13. EJERCICIOS PROPUESTOS ................................................................................................................. 67

    UNIDAD 3 ............................................................................................................................................ 72

    TEMA: ACCESS 2007 ............................................................................................................................. 72

    1. INTRODUCCIN .................................................................................................................................. 72

    1.1 Estructura de ficheros de Access ........................................................................................... 72

    2. ELEMENTOS BSICOS DE ACCESS 2007 ................................................................................................... 73

    2.1 La pantalla inicial .................................................................................................................. 73

    2.2 La interfaz ............................................................................................................................. 73

    3. CREAR, CERRAR Y ABRIR UNA BASE DE DATOS ........................................................................................... 75

    3.1 Crear una base de datos mediante una plantilla .................................................................. 75

    3.2 Crear una base de datos en blanco ....................................................................................... 76

    4. CREAR TABLAS ................................................................................................................................... 77

    4.1 Agregar una tabla ................................................................................................................. 77

    4.2 Insertar una tabla, empezando en la vista Hoja de datos .................................................... 77

    4.3 Insertar una tabla, empezando en la vista Diseo ................................................................ 78

    4.4 La clave principal o clave primaria ....................................................................................... 81

    4.5 Importar datos de otro origen .............................................................................................. 82

    5. PROPIEDADES DE LOS CAMPOS .............................................................................................................. 83

    5.1 Introduccin .......................................................................................................................... 83

    5.2 Tamao del campo ............................................................................................................... 84

    5.3 Formato del campo ............................................................................................................... 85

    5.4 Lugares decimales ................................................................................................................ 86

    5.5 Mscara de entrada ............................................................................................................. 86

    5.6 Ttulo ..................................................................................................................................... 87

    5.7 Valor predeterminado .......................................................................................................... 87

    5.8 Regla de validacin ............................................................................................................... 87

    5.9 Texto de validacin ............................................................................................................... 88

    5.10 Requerido .............................................................................................................................. 88

    5.11 Permitir longitud cero ........................................................................................................... 88

    5.12 Indexado ............................................................................................................................... 88

    6. LAS RELACIONES ................................................................................................................................. 89

    6.1 Tipos de relaciones de tabla ................................................................................................. 90

    6.2 Descripcin de la integridad referencial ............................................................................... 92

  • INDICES

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    4

    6.3 Crear una relacin. ............................................................................................................... 93

    6.4 Aadir tablas a la ventana Relaciones. ................................................................................. 95

    6.5 Quitar tablas de la ventana Relaciones. ............................................................................... 95

    6.6 Modificar relaciones. ............................................................................................................ 96

    6.7 Eliminar relaciones................................................................................................................ 96

    6.8 Mostrar relaciones directas .................................................................................................. 97

    7. LAS CONSULTAS ................................................................................................................................. 97

    7.1 Tipos de consultas ................................................................................................................. 97

    7.2 Crear una consulta ................................................................................................................ 99

    7.3 Aadir campos .................................................................................................................... 101

    7.4 Encabezados de columna.................................................................................................... 101

    7.5 Ejecutar la consulta ............................................................................................................ 102

    7.6 Modificar el diseo de una consulta ................................................................................... 102

    7.7 Ordenar las filas .................................................................................................................. 102

    7.8 Seleccionar filas .................................................................................................................. 103

    7.9 Consultas con parmetros .................................................................................................. 105

    7.10 Las consultas multitabla ..................................................................................................... 105

    UNIDAD 4 .......................................................................................................................................... 109

    TEMA: MYSQL .................................................................................................................................... 109

    1. INTRODUCCIN ................................................................................................................................ 109

    2. CARACTERSTICAS ............................................................................................................................. 109

    3. HISTORIA ........................................................................................................................................ 109

    4. ESQUEMA DE DENOMINACIONES ......................................................................................................... 110

    5. CONFORMACIN DE LA INSTALACIN .................................................................................................... 111

    6. COMANDOS BSICOS......................................................................................................................... 112

    7. CREAR Y UTILIZAR UNA BASE DE DATOS ................................................................................................. 114

    8. CREAR Y SELECCIONAR UNA BASE DE DATOS ........................................................................................... 115

    9. CREACIN DE TABLAS ........................................................................................................................ 115

    10. CARGANDO DATOS EN UNA TABLA ................................................................................................... 119

    BIBLIOGRAFA .................................................................................................................................... 122

  • INDICES

    IIINNNDDDIIICCCEEE DDDEEE GGGRRRFFFIIICCCOOOSSS

    GRFICO 1 SISTEMA GESTOR DE BASES DE DATOS..................................................................................................... 9

    GRFICO 2 REPRESENTACIN GRFICA DE UNA ENTIDAD .......................................................................................... 16

    GRFICO 3 REPRESENTACIN GRFICA DE LOS ATRIBUTOS EN UNA ENTIDAD ............................................................... 16

    GRFICO 4 RELACIN ENTRE DOS ENTIDADES ........................................................................................................ 17

    GRFICO 5 RELACIN DE GRADO 3 O TERNARIA ..................................................................................................... 17

    GRFICO 6 RELACIN 1 A 1 ............................................................................................................................... 18

    GRFICO 7 RELACIN 1 A N .............................................................................................................................. 18

    GRFICO 8 RELACIN N A N .............................................................................................................................. 18

    GRFICO 9 EJEMPLOS DE GENERALIZACIN .......................................................................................................... 19

    GRFICO 10 EJEMPLO DE AGREGACIN ............................................................................................................... 20

    GRFICO 11 DIAGRAMA E-R DEL EJERCICIO 1 ....................................................................................................... 21

    GRFICO 12 DIAGRAMA E-R DEL EJERCICIO 2 ....................................................................................................... 22

    GRFICO 13 DIAGRAMA E-R DEL EJERCICIO 3 ....................................................................................................... 22

    GRFICO 14 ENTIDAD ALUMNO ......................................................................................................................... 28

    GRFICO 15 ESQUEMA E-R DE UNA FACTURA ....................................................................................................... 28

    GRFICO 16 ESQUEMA E-R CON RELACIN UNO A UNO .......................................................................................... 30

    GRFICO 17 ESQUEMA E-R CON RELACIN UNO A MUCHOS .................................................................................... 32

    GRFICO 18 ESQUEMA E-R CON RELACIN MUCHOS A MUCHOS .............................................................................. 34

    GRFICO 19 PANTALLA INICIAL DE ACCESS 2007 .................................................................................................. 73

    GRFICO 20 CINTA DE OPCIONES ....................................................................................................................... 73

    GRFICO 21 ENTORNO DE ACCESS 2007 ............................................................................................................. 75

    GRFICO 22 OPCIN NUEVA BASE DE DATOS EN BLANCO ........................................................................................ 76

    GRFICO 23 TABLA INICIAL DE LA BASE DE DATOS .................................................................................................. 76

    GRFICO 24 GRUPO TABLAS DE LA FICHA CREAR ................................................................................................... 77

    GRFICO 25 COMO CAMBIAR A LA VISTA DISEO .................................................................................................. 79

    GRFICO 26 VISTA DISEO ............................................................................................................................... 79

    GRFICO 27 CAMPOS DE LA TABLA PROFESORES ................................................................................................... 80

    GRFICO 28 TIPOS DE DATOS DE LOS CAMPOS ...................................................................................................... 80

    GRFICO 29 BOTN PARA AGREGAR LA CLAVE PRINCIPAL ........................................................................................ 81

    GRFICO 30 ERROR DE CLAVE ............................................................................................................................ 82

    GRFICO 31 GRUPO IMPORTAR DE LA FICHA DATOS EXTERNOS ............................................................................... 83

    GRFICO 32 PROPIEDADES DE LOS CAMPOS .......................................................................................................... 84

    GRFICO 33 FORMULARIO NOTAS ...................................................................................................................... 89

    GRFICO 34 CAMPOS EN COMN ENTRE LAS TABLAS PROFESORES Y MATERIAS ........................................................... 90

    GRFICO 35 BOTN RELACIONES DE LA PESTAA HERRAMIENTAS DE BASE DE DATOS. .................................................. 93

    GRFICO 36 CUADRO DE DILOGO MOSTRAR TABLAS ............................................................................................ 93

    GRFICO 37 TABLAS AGREGADAS A LA VENTANA RELACIONES .................................................................................. 94

    GRFICO 38 CUADRO DE DILOGO MOSTRAR RELACIONES ...................................................................................... 94

    GRFICO 39 RELACIN UNA A VARIOS DE LA TABLA PROFESORES CON LA TABLA ALUMNOS ............................................ 95

    GRFICO 40 BOTN MOSTRAR TABLA DE LA PESTAA DISEO ................................................................................. 95

    GRFICO 41 MEN CONTEXTUAL DE UNA TABLA EN LA VENTANA RELACIONES ............................................................ 96

    GRFICO 42 MEN CONTEXTUAL DE UNA RELACIN .............................................................................................. 96

    GRFICO 43 CONSULTA SQL EN ACCESS .............................................................................................................. 99

    GRFICO 44 BOTN DISEO DE CONSULTA DE LA PESTAA CREAR ............................................................................ 99

    GRFICO 45 CUADRO DE DILOGO MOSTRAR TABLA PARA CONSULTAS ...................................................................... 99

    GRFICO 46 VENTANA VISTA DISEO DE CONSULTAS .......................................................................................... 100

    GRFICO 47 BOTN EJECUTAR CONSULTAS........................................................................................................ 102

  • INDICES

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    6

    GRFICO 48 VARIAS CONDICIONES EN UNA CONSULTA .......................................................................................... 104

    GRFICO 49 CONDICIONES EN DIFERENTES FILAS ................................................................................................. 104

    GRFICO 50 CUADRO DE DILOGO PARA INTRODUCIR VALORES .............................................................................. 105

    GRFICO 51 BOTN MOSTRAR TABLA .............................................................................................................. 105

    GRFICO 52 COMBINAR TABLAS ....................................................................................................................... 106

    GRFICO 53 PROMPT DE MYSQL .................................................................................................................... 112

    GRFICO 54 INSTRUCCIN SELECT CON OPERACIONES MATEMTICAS BSICAS EN MYSQL ........................................ 113

    GRFICO 55 SENTENCIAS CON MLTIPLES LNEAS ................................................................................................ 113

    GRFICO 56 PARA CANCELAR UN COMANDO UTILICE /C ........................................................................................ 113

    GRFICO 57 SENTENCIA SHOW DATABASES .................................................................................................. 114

    GRFICO 58 SENTENCIA USE .......................................................................................................................... 115

    GRFICO 59 SENTENCIA CREATE DATABASE ................................................................................................... 115

    GRFICO 60 CAMBIO DE UNA BASE DE DATOS ..................................................................................................... 115

    GRFICO 61 SENTENCIA SHOW TABLES .......................................................................................................... 116

    GRFICO 62 SENTENCIA CREATE TABLE ......................................................................................................... 116

    GRFICO 63 SENTENCIA DESCRIBE ................................................................................................................. 116

    GRFICO 64 CREAR UNA TABLA CON UNA CLAVE PRIMARIA .................................................................................... 119

    GRFICO 65 CREAR UNA TABLA CON UNA CLAVE PRIMARIA Y UNA CLAVE FORNEA ..................................................... 119

    GRFICO 66 USO DE CLAVES COMBINADAS EN LLAVES FORNEAS ........................................................................... 119

    GRFICO 67 INGRESO DE DATOS UTILIZANDO EL BLOC DE NOTAS ............................................................................. 120

    GRFICO 68 SENTENCIA LOAD DATA .............................................................................................................. 120

    GRFICO 69 SENTENCIA INSERT INTO ............................................................................................................ 121

    GRFICO 70 SENTENCIA SELECT ..................................................................................................................... 121

  • UNIDAD 1 Sistemas de bases de datos

    SSGGBBDD

  • UNIDAD 1 Sistemas de Bases de Datos

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    8

    UUUNNNIIIDDDAAADDD 111

    Tema: Sistemas de Bases de Datos

    1. Introduccin Terica

    1.1 Dato e Informacin

    En esencia, un sistema de bases de datos no es ms que un sistema para

    archivar en computador; o sea, es un sistema computarizado cuyo

    propsito general es mantener informacin y hacer que est disponible

    cuando se solicite. Para tener claro sta definicin es necesario hacer la

    distincin entre dos trminos que parecieran ser sinnimos: dato e

    informacin:

    Dato: El dato es conjunto de caracteres con algn significado, pueden

    ser numricos, alfabticos, o alfanumricos.

    Informacin: Es un conjunto ordenado de datos los cuales son

    manejados segn la necesidad del usuario, para que un conjunto de

    datos pueda ser procesado eficientemente y pueda dar lugar a

    informacin, primero se debe guardar lgicamente en archivos.

    1.2 Qu es una base de datos?

    Una base de datos es un conjunto de datos almacenados entre los que

    existen relaciones lgicas y ha sido diseada para satisfacer los

    requerimientos de informacin de una empresa u organizacin.

    La base de datos es un gran almacn de datos que se define una sola vez y

    que se utiliza al mismo tiempo por muchos departamentos y usuarios. La

    base de datos no pertenece a un departamento, se comparte por toda la

    organizacin.

    Adems, la base de datos no slo contiene los datos de la organizacin,

    tambin almacena una descripcin de dichos datos. Esta descripcin es lo

    que se denomina metadatos, se almacena en el diccionario de datos o

    catlogo y es lo que permite que exista independencia de datos.

  • UNIDAD 2 Lenguaje de Consultas SQL

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    9

    1.3 El sistema de gestin de la base de datos

    El sistema de gestin de la base de datos (DBMS1) es una aplicacin que

    permite a los usuarios (clientes) definir, crear y mantener la base de datos,

    y proporciona acceso controlado a la misma.

    Grfico 1 Sistema gestor de bases de datos

    En general, un DBMS proporciona los siguientes servicios:

    Permite la definicin de la base de datos mediante el lenguaje de

    definicin de datos (DDL2). Este lenguaje permite especificar la

    estructura y el tipo de los datos, as como las restricciones sobre los

    datos. Todo esto se almacenar en la base de datos.

    Permite la insercin, actualizacin, eliminacin y consulta de datos

    mediante el lenguaje de manejo de datos (DML3).

    Proporciona un acceso controlado a la base de datos.

    1.4 Objetivos de los sistemas de bases de datos

    Los objetivos principales de un sistema de base de datos es disminuir los

    siguientes aspectos:

    Redundancia e inconsistencia de datos: Si los archivos que mantienen

    almacenada la informacin son creados por diferentes tipos de programas

    1 DBMS: De las siglas en ingls Data Bases Management System cuya traduccin al espaol es Sistemas

    manejadores de bases de datos. 2 DDL: De las siglas en ingls Data Definition Language cuya traduccin al espaol es Lenguaje de

    definicin de datos. 3 DML: De las siglas en ingls Data Manipulation Language cuya traduccin al espaol es Lenguaje de

    manipulacin de datos

  • UNIDAD 2 Lenguaje de Consultas SQL

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    10

    de aplicacin existe la posibilidad de que si no se controla detalladamente el

    almacenamiento, se pueda originar un duplicado de informacin, esto se

    conoce como redundancia de datos. Esto aumenta los costos de

    almacenamiento y acceso a los datos, adems de que puede originar la

    inconsistencia de los datos4, por ejemplo: que se actualiza la direccin de

    un alumno en un archivo y que en otros archivos permanezca la anterior.

    Dificultad para tener acceso a los datos: Un sistema de base de datos

    debe contemplar un entorno de datos que le facilite al usuario el manejo de

    los mismos. Por ejemplo supngase la siguiente situacin: en el colegio uno

    de los departamentos necesita averiguar los nombres de todos los alumnos

    que viven en la parroquia Totoracocha de la ciudad de Cuenca. El

    departamento pide al centro de cmputo que genere la lista

    correspondiente. Puesto que esta situacin no fue prevista en el diseo del

    sistema, no existe ninguna aplicacin de consulta que permita este tipo de

    solicitud, esto ocasiona una deficiencia del sistema.

    Aislamiento de los datos: Cuando los datos estn repartidos en varios

    archivos, y estos no pueden tener diferentes formatos, es difcil escribir

    nuevos programas de aplicacin para obtener los datos apropiados.

    Anomalas del acceso concurrente: Para mejorar el funcionamiento

    global del sistema y obtener un tiempo de respuesta ms rpido, muchos

    sistemas permiten que mltiples usuarios actualicen los datos

    simultneamente. En un entorno as la interaccin de actualizaciones

    concurrentes puede dar por resultado datos inconsistentes.

    Problemas de seguridad: La informacin de toda organizacin es

    importante, aunque unos datos lo son ms que otros, por tal motivo se

    debe considerar el control de acceso a los mismos, no todos los usuarios

    pueden visualizar alguna informacin, por tal motivo para que un sistema

    de base de datos sea confiable debe mantener un grado de seguridad que

    garantice la autentificacin y proteccin de los datos. En un colegio por

    ejemplo, el personal de contabilidad slo necesita tener acceso a la parte de

    la base de datos que tiene informacin acerca de la parte econmica de la

    4 Inconsistencia de datos: Es cuando diversas copias de un mismo dato no concuerdan entre s

  • UNIDAD 2 Lenguaje de Consultas SQL

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    11

    institucin y no a otro tipo de informacin como por ejemplo a las notas de

    los estudiantes.

    Problemas de integridad: Los valores de datos almacenados en la base

    de datos deben satisfacer cierto tipo de restricciones de consistencia. Estas

    restricciones se hacen cumplir en el sistema aadiendo cdigos apropiados

    en los diversos programas de aplicacin.

    ACTIVIDAD GRUPAL

    Con un grupo de tres compaeros realice un foro para debatir la

    importancia de los sistemas de bases de datos. Entregue un documento con

    las conclusiones y opiniones que se han llegado al final de la actividad.

    2. Planificacin y diseo de bases de datos

    2.1 Introduccin Terica

    Todo sistema de informacin debe ser previamente planificado para evitar

    futuros inconvenientes y dicha planificacin debe realizarse por fases, stas

    fases de la planificacin del sistema se conoce como el ciclo de vida de un

    sistema de informacin que se relaciona directamente con el desarrollo de

    aplicaciones de bases de datos.

    La razn para preocuparse por el diseo de las bases de datos es que es

    crucial para la consistencia, integridad y precisin de los datos. Si una base

    de datos est mal diseada, los usuarios tendrn dificultades a la hora de

    acceder a ciertos tipos de informacin y existe el riesgo aadido de que

    ciertas bsquedas puedan producir informacin errnea.

    Vindolo desde una perspectiva diferente, la base de datos es como una

    casa que queremos que nos construyan. Qu es lo primero que hay que

    hacer? Desde luego, lo que no vamos a hacer es buscar a un constructor

    que haga la casa sobre la marcha y lo haga como l quiera. Seguramente,

    buscaremos primero a un arquitecto que disee nuestra nueva casa y

    despus haremos que el constructor la edifique. El arquitecto expresar

    nuestras necesidades en una serie de planos, anotando todos los requisitos

    de los diversos sistemas (estructural, mecnico y elctrico). Despus, el

  • UNIDAD 2 Lenguaje de Consultas SQL

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    12

    constructor pondr los materiales necesarios, tal y como se indica en los

    planos y en las especificaciones.

    Volviendo a la perspectiva de las bases de datos, el diseo lgico

    corresponde con la fase de elaboracin de los planos arquitectnicos, y la

    implementacin fsica de la base de datos es la casa ya construida. El

    diseo lgico describe el tamao, la forma y los sistemas necesarios para la

    base de datos. Despus, se construye la implementacin fsica del diseo

    lgico de la base de datos mediante el DBMS.

    Se pueden hacer malos diseos, pero una base de datos bien diseada

    contendr informacin correcta, almacenar los datos ms eficientemente y

    ser ms fcil de gestionar y de mantener.

    2.2 Ciclo de vida de las Aplicaciones de bases de datos

    Una aplicacin de base de datos es un sistema de informacin, es decir, un

    conjunto de recursos que permiten recoger, gestionar, controlar y difundir

    la informacin de toda una empresa u organizacin.

    Un sistema de informacin est formado por los siguientes componentes:

    La base de datos.

    El DBMS.

    Los programas de aplicacin.

    Los dispositivos fsicos (ordenadores, medios de almacenamiento,

    etc.).

    El personal que utiliza y que desarrolla el sistema.

    La base de datos es un componente fundamental de un sistema de

    informacin, razn por la cual en este documento se van a estudiar cada

    una de las etapas del ciclo de vida de desarrollo del software desde la

    perspectiva del desarrollo de una aplicacin de bases de datos, siguiendo un

    enfoque orientado a datos.

    Bajo esa perspectiva las etapas del ciclo de vida de una aplicacin de bases

    de datos son las siguientes:

    Planificacin del proyecto.

  • UNIDAD 2 Lenguaje de Consultas SQL

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    13

    Definicin del sistema.

    Recoleccin y anlisis de los requisitos.

    Diseo de la base de datos.

    Seleccin del DBMS.

    Diseo de la aplicacin.

    Prototipado.

    Implementacin.

    Conversin y carga de datos.

    Prueba.

    Mantenimiento.

    Estas etapas no son estrictamente secuenciales. De hecho hay que repetir

    algunas de las etapas varias veces, haciendo lo que se conocen como ciclos

    de realimentacin. Por ejemplo, los problemas que se encuentran en la

    etapa del diseo de la base de datos pueden requerir una recoleccin de

    requisitos adicional y su posterior anlisis.

    Debido a la naturaleza de la materia nuestro estudio se centrar solamente

    en una de las fases del ciclo de vida: el diseo de base de datos.

    ACTIVIDAD

    Investigue cada una de las etapas del ciclo de vida del desarrollo del

    software. Se evaluar: Portada, ndice de contenidos, ndice de grficos (si

    es que los hay), calidad de la teora investigada, ejemplos, conclusiones,

    recomendaciones y bibliografa.

    Recuerde que una buena investigacin implica una buena sustentacin de la

    misma.

    2.3 Diseo de bases de datos

    Como se pudo ver en la Planificacin y diseo de la bases de datos, el

    diseo de una base de datos se descompone en: diseo conceptual, diseo

    lgico y diseo fsico.

  • UNIDAD 2 Lenguaje de Consultas SQL

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    14

    Diseo conceptual: En esta etapa se debe construir un esquema de la

    informacin que se usa en la empresa, independientemente de cualquier

    consideracin fsica. A este esquema se le denomina esquema conceptual.

    Al construir el esquema, los diseadores5 descubren la semntica

    (significado) de los datos de la empresa. El objetivo es comprender:

    La perspectiva que cada usuario tiene de los datos.

    La naturaleza de los datos, independientemente de su representacin

    fsica.

    El uso de los datos a travs de las reas de aplicacin.

    El esquema ms popular para el diseo conceptual es el modelo E-R6.

    Diseo lgico: El diseo lgico es el proceso de construir un esquema de la

    informacin que utiliza la empresa, basndose en un modelo de base de

    datos especfico, independiente del DBMS concreto que se vaya a utilizar y

    de cualquier otra consideracin fsica.

    En esta etapa, se transforma el esquema conceptual en un esquema lgico

    que utilizar las estructuras de datos del modelo de base de datos en el que

    se basa el DBMS que se vaya a utilizar, como puede ser el modelo

    relacional, el modelo de red, el modelo jerrquico o el modelo orientado a

    objetos.

    La normalizacin es una tcnica que se utiliza para comprobar la validez de

    los esquemas lgicos basados en el modelo relacional, ya que asegura que

    las relaciones (tablas) obtenidas no tienen datos redundantes.

    Diseo fsico: El diseo fsico es el proceso de producir la descripcin de la

    implementacin de la base de datos en memoria secundaria: estructuras de

    almacenamiento y mtodos de acceso que garanticen un acceso eficiente a

    los datos.

    5 Los diseadores de la base de datos realizan el diseo lgico de la base de datos, debiendo identificar

    los datos, las relaciones entre datos y las restricciones sobre los datos y sus relaciones. El diseador de la base de datos debe tener un profundo conocimiento de los datos de la empresa y tambin debe conocer sus reglas de negocio. Las reglas de negocio describen las caractersticas principales de los datos tal y como las ve la empresa. 6 Un diagrama o modelo entidad-relacin (a veces denominado por su siglas en ingls E-R "Entity

    relationship"). Se ver ms adelante en detalle.

  • UNIDAD 2 Lenguaje de Consultas SQL

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    15

    Para llevar a cabo esta etapa, se debe haber decidido cul es el DBMS que

    se va a utilizar, ya que el esquema fsico se adapta a l. Entre el diseo

    fsico y el diseo lgico hay una realimentacin, ya que algunas de las

    decisiones que se tomen durante el diseo fsico para mejorar las

    prestaciones, pueden afectar a la estructura del esquema lgico. En

    general, el propsito del diseo fsico es describir cmo se va a implementar

    fsicamente el esquema lgico obtenido en la fase anterior.

    3. Diseo conceptual de bases de datos utilizando el Modelo

    E-R

    Como ya se dijo anteriormente el diseo de bases de datos es el proceso

    por el que se determina la organizacin de una base de datos, incluidos su

    estructura, contenido y las aplicaciones que se han de desarrollar.

    3.1 Modelos de datos

    Un modelo de datos es una serie de conceptos que puede utilizarse para

    describir un conjunto de datos y las operaciones para manipularlos. Hay dos

    tipos de modelos de datos: los modelos conceptuales y los modelos lgicos.

    En el diseo de bases de datos se usan primero los modelos conceptuales

    para lograr una descripcin de alto nivel de la realidad, y luego se

    transforma el esquema conceptual en un esquema lgico.

    3.2 El modelo E-R

    El modelo E-R est formado por un conjunto de conceptos que permiten

    describir la realidad mediante un conjunto de representaciones grficas y

    lingsticas.

    Originalmente, el modelo E-R slo inclua los conceptos de entidad, relacin

    y atributo. Ms tarde, se aadieron otros conceptos, como los atributos

    compuestos y las jerarquas de generalizacin, en lo que se ha denominado

    modelo entidad-relacin extendido.

    Entidad y atributos

    Entidades: Es todo lo que existe y es capaz de ser descrito (sustantivo), se

    distingue de otros objetos de acuerdo a sus caractersticas llamadas

  • UNIDAD 2 Lenguaje de Consultas SQL

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    16

    atributos. Por ejemplo puede ser una entidad el sustantivo persona pues el

    mismo se diferencia de cualquier otra persona, incluso siendo gemelos.

    O puede ser una entidad el sustantivo casa pues aunque sea exactamente

    igual a otra, an se diferenciar en su direccin.

    Grfico 2 representacin grfica de una entidad

    Las entidades se representan grficamente mediante rectngulos y su

    nombre aparece en la parte interna. Un nombre de entidad slo puede

    aparecer una vez en el esquema conceptual.

    Una entidad puede ser un objeto con existencia fsica como: una persona,

    un animal, una casa, etc. (entidad concreta), o un objeto con existencia

    conceptual como: un puesto de trabajo, una asignatura de clases, un

    nombre, etc. (entidad abstracta).

    Hay dos tipos de entidades: fuertes y dbiles. Una entidad dbil es una

    entidad cuya existencia depende de la existencia de otra entidad. Una

    entidad fuerte es una entidad que existe pos s sola y no depende de la

    existencia de otras.

    Atributos: es una caracterstica (adjetivo) de una entidad o relacin. Una

    entidad est descrita y se representa por sus caractersticas o atributos. Por

    ejemplo, la entidad Alumno puede llevar consigo las caractersticas: Cdigo,

    Nombres, Direccin, Telfono, etc.

    Grfico 3 Representacin grfica de los atributos en una Entidad

    De entre los atributos habr uno o un conjunto de ellos que no se repite; a

    este atributo o conjunto de atributos se le llama clave de la entidad, (para

    la entidad alumno una clave seria CDIGO). En el esquema se los distingue

    por que el atributo clave se encuentra subrayado.

    ALUMNO

    ALUMNO

    Cdigo Nombres

    Direccin Telfono

  • UNIDAD 2 Lenguaje de Consultas SQL

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    17

    Relacin (Interrelacin)

    Es una correspondencia o asociacin entre dos o ms entidades (verbo).

    Cada relacin tiene dos extremos y se representas grficamente con

    rombos, dentro de ellas se coloca el nombre de la relacin.

    Grfico 4 Relacin entre dos entidades

    La cantidad de entidades en una relacin determina el grado de la relacin,

    por ejemplo la relacin ALUMNO-CURSO es de grado 2 (binarias), ya que

    intervienen la entidad ALUMNO y la entidad CURSO, la relacin PADRES,

    puede ser de grado 3, ya que involucra las entidades PADRE, MADRE e

    HIJO.

    Grfico 5 Relacin de grado 3 o ternaria

    Cardinalidad

    La cardinalidad nos especifica los tipos de relaciones que existen entre las

    entidades en el modelo E-R para establecer con esto las validaciones

    necesarias para conseguir que los datos de la instancia7 correspondan con

    la realidad.

    a) Relacin uno a uno (1:1): A cada ocurrencia de una entidad le

    corresponde como mximo una ocurrencia de la otra entidad relacionada.

    7 Instancia: Valor nico en un momento dado de una base de datos

    MADRE

    PADRE

    HIJO PADRES

    Cdigo Nombres

    Direccin Telfono

    ALUMNO

    Nivel Paralelo

    CURSO PERTENECE

  • UNIDAD 2 Lenguaje de Consultas SQL

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    18

    Una entidad del tipo A solo se puede relacionar con una entidad del tipo B, y

    viceversa.

    Por ejemplo: La entidad HOMBRE con la entidad MUJER y entre ellos la

    relacin MATRIMONIO, es una relacin 1 a 1, ya que asocia a un HOMBRE

    con una nica MUJER por lo tanto ningn HOMBRE tiene ms de una MUJER

    en MATRIMONIO, y ninguna MUJER tiene ms de una HOMBRE en

    MATRIMONIO. El extremo de la flecha indica el uno de la relacin.

    Grfico 6 Relacin 1 a 1

    b) Relacin uno a muchos (1:N): Significa que una entidad del tipo A

    puede relacionarse con cualquier cantidad de entidades del tipo B, y una

    entidad del tipo B solo puede estar relacionada con una entidad del tipo A.

    Por ejemplo: La entidad CURSO y la entidad ALUMNO y entre ellos la

    relacin ESTUDIAR EN. En un CURSO pueden ESTUDIAR muchos ALUMNOS,

    pero un ALUMNO puede ESTUDIAR EN un solo CURSO.

    Grfico 7 Relacin 1 a N

    c) Relacin muchos a muchos (N:N): Establece que cualquier cantidad

    de entidades del tipo A pueden estar relacionados con cualquier cantidad de

    entidades del tipo B.

    Por ejemplo: La entidad ALUMNO y la entidad ASIGNATURA y entre ellos la

    relacin APRENDER. Un ALUMNO puede APRENDER varias asignaturas y una

    ASIGNATURA puede ser APRENDIDA por varios ALUMNOS.

    Grfico 8 Relacin N a N

    HOMBRE MUJER MATRIMONIO

    ALUMNO CURSO ESTUDIAR EN

    ALUMNO ASIGNATURA ESTUDIAR EN

  • UNIDAD 2 Lenguaje de Consultas SQL

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    19

    3.3 Generalizacin, especializacin y Agregacin

    a) Generalizacin

    La generalizacin consiste en identificar atributos comunes a ciertas

    entidades, para lo cual podemos crear: una entidad de nivel superior que

    las contenga, y otras entidades de nivel inferior con los atributos

    particulares. Ejemplo:

    Grfico 9 Ejemplos de Generalizacin

    Se puede observar que las entidades EMPLEADO y ESTUDIANTE heredan8 de

    la entidad PERSONA los atributos Nombre, Direccin y Telfono. De la

    misma manera la entidad EMPLEADO tiene un atributo particular llamado

    8 La herencia es un tipo de relacin entre una entidad "padre" y una entidad "hijo". La entidad "hijo"

    hereda todos los atributos y relaciones de la entidad "padre". Por tanto, no necesitan ser representadas dos veces en el diagrama.

    EMPLEADO

    Salario

    IS A

    Nombre

    Direccin

    Telfono

    IS A

    PERSONA

    ADMINISTRATIVO

    Cargo Departamento

    PROFESOR

    Materia Horas de clase

    ESTUDIANTE

    Calificacin

    Atributos semejantes

    (Generalizados)

    Entidad global

    generada

    IS A: Se lee ES UN

    Atributos individuales

    Atributos individuales

  • UNIDAD 2 Lenguaje de Consultas SQL

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    20

    salario que hereda a las entidades ADMINISTRATIVO y PROFESOR, las

    cuales tienen tambin sus propios atributos individuales.

    Como podemos observar la Generalizacin trata de eliminar la redundancia

    (repeticin) de atributos, al englobar los atributos semejantes. La

    entidad(es) de bajo nivel heredan todos los atributos correspondientes.

    b) Especializacin

    Si identificamos un subconjunto de entidades dentro de un conjunto de

    entidades que tienen algunos atributos particulares, entonces estos

    subgrupos se convierten en conjuntos de entidades de nivel inferior que

    tienen atributos o participan en relaciones que no son aplicables al conjunto

    de entidades de nivel superior.

    c) Agregacin

    La agregacin surge cuando ms de una entidad se asocian de tal forma

    que se las puede ver como a una nueva entidad. Esta nueva entidad, fruto

    de esa ntima unin, se puede relacionar con otras entidades. Se representa

    enmarcando la relacin en un rectngulo.

    Grfico 10 Ejemplo de Agregacin

    Para ejemplificar una agregacin consideraremos un ejemplo que consiste

    en una empresa en la cual existen trabajando muchos empleados que

    trabajan en diferentes proyectos, pero dependiendo del trabajo que realiza

    en pueden llegar a utilizar un equipo o maquinaria; en este problema

    intervienen 3 entidades: Empleado, Proyecto y Maquinaria, el diagrama E-R

    correspondiente sera el que se visualiza en la figura 9.

    MAQUINARIA

    Id

    PROYECTO

    Nmero Nombre Horas

    TRABAJA

    USA

    EMPLEADO

    Id

  • UNIDAD 2 Lenguaje de Consultas SQL

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    21

    Como el modelo E-R no permite la unin entre dos o ms relaciones, la

    relacin TRABAJA es englobada como si fuera una entidad ms de la

    relacin USA, grficamente se dibuja un rectngulo para englobarlas. Slo

    as podemos decir que la entidad TRABAJA se relaciona con la entidad

    MAQUINARIA a travs de la relacin USA. Para indicarnos que un trabajo

    usa un determinado equipo o maquinaria segn el tipo de trabajo que se

    trate.

    3.4 Tcnica para el modelado entidad relacin

    El modelado entidad-relacin es una tcnica para el modelado de datos

    utilizando diagramas entidad relacin. No es la nica tcnica pero s la ms

    utilizada. Brevemente consiste en los siguientes pasos:

    1. Se parte de una descripcin textual del problema o sistema de

    informacin a automatizar (los requisitos).

    2. Se hace una lista de los sustantivos y verbos que aparecen.

    3. Los sustantivos son posibles entidades o atributos.

    4. Los verbos son posibles relaciones.

    5. Analizando las frases se determina la cardinalidad de las relaciones y

    otros detalles.

    6. Se elabora el diagrama (o diagramas) entidad-relacin.

    7. Se completa el modelo con listas de atributos y una descripcin de

    otras restricciones que no se pueden reflejar en el diagrama.

    3.5 Ejercicios Resueltos

    Ejercicio 1: Realizar un diagrama E-R del siguiente enunciado: Una

    editorial publica varios libros. Un libro es publicado por una sola editorial.

    Grfico 11 Diagrama E-R del Ejercicio 1

    Ejercicio 2: Una editorial publica varios libros. Un libro es publicado por

    una sola editorial. Un lector puede tomar prestados varios libros.

    EDITORIAL LIBRO PUBLICA

  • UNIDAD 2 Lenguaje de Consultas SQL

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    22

    Grfico 12 Diagrama E-R del Ejercicio 2

    Ejercicio 3

    Se pretende crear una base de datos para almacenar informacin sobre los

    proyectos que realizan en un curso. Los datos a tener en cuenta son:

    Cada proyecto tiene asociado un identificador numrico y un nombre. Adems se guardar qu estudiante es el director de dicho proyecto.

    Tambin se quiere guardar informacin sobre los informes que en cada aporte se hacen de cada proyecto. Para ello se guardar la

    fecha del informe y se detallar cules han sido las tareas realizadas

    en el aporte, quin las realiz y el tiempo que dedic a cada una de

    ellas. Las tareas dentro de los proyectos suelen ser casi siempre las

    mismas, aunque las realicen distintas personas y le dediquen tiempos

    distintos. Adems un mismo estudiante puede realizar distintas

    tareas en el mismo aporte y una tarea puede ser desarrollada por

    ms de un empleado.

    De los estudiantes se guardar el cdigo y su nombre.

    Grfico 13 Diagrama E-R del Ejercicio 3

    EDITORIAL

    LIBRO

    PUBLICA

    LECTOR TIENE

    ESTUDIANTE

    TAREA

    Tiempo

    REGISTRA INFORME

    DIRIGE

    GUARDA

    IdTarea

    Descripcin Fecha

    IdInforme

    IdProyecto Nombre

    PROYECTO

    Cdigo

    Nombre

  • UNIDAD 2 Lenguaje de Consultas SQL

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    23

    4. Diseo lgico de bases de datos utilizando el Modelo

    Relacional

    4.1 Introduccin Terica

    El objetivo del diseo lgico es convertir los esquemas conceptuales locales

    en un esquema lgico global que se ajuste al modelo de DBMS sobre el que

    se vaya a implementar el sistema.

    Los modelos de bases de datos ms extendidos desde la perspectiva del

    diseo lgico son el modelo relacional, el modelo de red y el modelo

    jerrquico. El modelo orientado a objetos es tambin muy popular, pero no

    existe un modelo estndar orientado a objetos.

    En este punto nos concentraremos en desarrollar un buen modelo "lgico"

    que se conoce como "esquema de la base de datos" a partir del cual se

    podr realizar el modelado fsico en el DBMS, es importante mencionar que

    es un paso necesario, no se puede partir de un modelo conceptual para

    realizar un fsico.

    4.2 El Modelo Relacional

    El objetivo del modelo relacional es crear un "esquema", lo cual como se

    explicar ms adelante consiste de un conjunto de "tablas" que representan

    "relaciones", relaciones entre los datos.

    La ventaja del modelo relacional es que los datos se almacenan, al menos

    conceptualmente, de un modo en que los usuarios entienden con mayor

    facilidad. Los datos se almacenan como tablas y las relaciones entre las filas

    y las tablas son visibles en los datos. Este enfoque permite a los usuarios

    obtener informacin de la base de datos sin asistencia de sistemas

    profesionales de administracin de informacin.

    Las caractersticas ms importantes de los modelos relacionales son:

    Es importante saber que las entradas en la tabla tienen un solo valor (son atmicos); no se admiten valores mltiples, por lo tanto la

    interseccin de un rengln con una columna tiene un solo valor,

    nunca un conjunto de valores.

  • UNIDAD 2 Lenguaje de Consultas SQL

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    24

    Todas las entradas de cualquier columna son de un solo tipo. Por ejemplo, una columna puede contener nombres de clientes, y en otra

    puede tener fechas de nacimiento. Cada columna posee un nombre

    nico, el orden de las comunas no es de importancia para la tabla, las

    columnas de una tabla se conocen como atributos. Cada atributo

    tiene un dominio, que es una descripcin fsica y lgica de valores

    permitidos.

    No existen 2 filas en la tabla que sean idnticas.

    La informacin en las bases de datos son representados como datos explcitos, no existen apuntadores o ligas entre las tablas.

    En el enfoque relacional es sustancialmente distinto de otros enfoques en

    trminos de sus estructuras lgicas y del modo de las operaciones de

    entrada/salida. En el enfoque relacional, los datos se organizan en tablas

    llamadas relaciones, cada una de las cuales se implanta como un archivo.

    En terminologa relacional una fila en una relacin representa un registro o

    una entidad; Cada columna en una relacin representa un campo o un

    atributo.

    As, una relacin se compone de una coleccin de registros cuyos

    propietarios estn descritos por cierto nmero de atributos predeterminados

    implantados como campos.

    Las tablas del diagrama relacional, pueden ser construidas partiendo de

    convertir el diagrama e-r a tablas y posteriormente aplicar operaciones de

    normalizacin hasta conseguir el esquema ptimo.

    Esta es muy conveniente en varios aspectos:

    El partir de un diagrama visual es muy til para apreciar los detalles,

    de ah que se llame modelo conceptual.

    El crear las tablas inciales es mucho ms simple a travs de las

    reglas de conversin.

    Se podra pensar que es lo mismo porque finalmente hay que

    "normalizar" las tablas de todas formas, pero la ventaja de partir del

    modelo e-r es que la "normalizacin" es mnima por lo general.

  • UNIDAD 2 Lenguaje de Consultas SQL

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    25

    Lo anterior tiene otra ventaja, an cuando se normalice de manera

    deficiente, se garantiza un esquema aceptable.

    Conceptos bsicos

    Tablas: El modelo relacional proporciona una manera simple de representar

    los datos: una tabla bidimensional llamada relacin.

    ALUMNOS

    CODIGO NOMBRES DIRECCIN

    1234 David Bustamante Av. 24 de Mayo

    5678 Toms Alarcn Gran Colombia

    La relacin Alumnos tiene la intencin de manejar la informacin de las

    instancias en la entidad Alumnos, cada rengln corresponde a una entidad

    Alumno y cada columna corresponde a uno de los atributos de la entidad.

    Sin embargo las relaciones pueden representar ms que entidades, como se

    explicar ms adelante.

    El grado de esta tabla es el nmero de campos que posee, en nuestro caso

    la tabla ALUMNOS es de grado 3.

    Campos o atributos: Los atributos son las columnas de una relacin y

    describen caractersticas particulares de ella.

    Relacin, Esquema o Tabla: Es el nombre que se le da a una relacin y el

    conjunto de atributos en ella.

    Alumnos (Cdigo, Nombres, Direccin)

    Tuplas o registros: Cada uno de los renglones en una relacin

    conteniendo valores para cada uno de los atributos.

    (1234, David Bustamante, Av. 24 de Mayo)

    Dominios: Se debe considerar que cada campo (columna) debe ser

    atmico, es decir, que no sea divisible, no se puede pensar en un atributo

    como un "registro" o "estructura" de datos.

    Claves: Como en una tabla, las tuplas pueden estar en cualquier orden, no

    podemos referenciar una tupla concreta a mediante su posicin entre las

  • UNIDAD 2 Lenguaje de Consultas SQL

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    26

    dems, y necesitamos alguna forma de seleccionar una tupla concreta. La

    forma de hacerlo es mediante una clave.

    Una clave es un atributo o conjunto de atributos cuyo valor es nico y

    diferente para cada tupla.

    Clave primaria: De entre todas las claves candidatas, el administrador,

    cuando define la tabla, debe decidir cul de ellas va a ser la clave principal o

    clave primaria.

    Una clave primaria es aquella columna (pueden ser tambin dos columnas o

    ms) que identifica nicamente a esa fila. La clave primaria es un

    identificador que va a ser nico para cada fila. Se acostumbra poner la clave

    primaria como la primera columna de la tabla pero esto no tiene que ser

    necesario, si no es ms una conveniencia. Muchas veces la clave primaria

    es autonumrica.

    Clave Candidata: En una tabla puede que tengamos ms de una clave, en

    tal caso se puede escoger una para ser la clave primaria, las dems claves

    son las claves candidatas, adems es la posible clave primaria. P.ej., en

    nuestro caso de la tabla Alumnos, la clave puede ser tanto el atributo

    Cdigo, como el atributo Nombre

    Claves Alternativas: Una clave alternativa es aquella clave candidata que

    no ha sido seleccionada como clave primaria, pero que tambin puede

    identificar de forma nica a una fila dentro de una tabla. Ejemplo: Si en una

    tabla Alumnos definimos Cdigo como clave primaria, el nmero de cdula

    de ese alumno podra ser una clave alternativa.

    Clave Fornea: Una clave fornea es aquella columna que existiendo como

    dependiente en una tabla, es a su vez clave primaria en otra tabla.

    Clave Compuesta: Una clave compuesta es una clave que est compuesta

    por ms de una columna o campo.

    4.3 Conversin del diagrama E-R a tablas

    En el tema anterior estudiamos un modelo conceptual de datos que nos

    permita describir la informacin que se desea almacenar en una base de

    datos cualquiera: el modelo Entidad-Relacin.

  • UNIDAD 2 Lenguaje de Consultas SQL

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    27

    La ventaja de este modelo es que es independiente del modelo lgico sobre

    el que se vaya a implantar finalmente dicha base de datos. Por otro lado,

    cuando dicho modelo lgico es el modelo relacional, resulta bastante

    sencillo pasar del diagrama E-R al esquema relacional mediante unas

    cuantas reglas sencillas y fciles de aplicar.

    Antes de comenzar es necesario resaltar las diferencias existentes entre

    estos dos modelos.

    De una parte, el modelo E-R trabaja a nivel conceptual, estableciendo

    cules son las entidades fuertes y dbiles que intervienen en nuestra base

    de datos, y las relaciones existentes entre ellas; sin embargo, no hace

    referencia alguna a la forma en que estos objetos se almacenan en

    ninguna base de datos, entre otras cosas por se trata slo de un modelo

    conceptual. Por contra, el modelo relacional lo que trata es de representar

    la informacin en la forma en que se va a almacenar en la memoria del

    ordenador (o al menos en la forma en que el usuario la ve). Para ello se

    vale casi nicamente del concepto de tabla.

    Por tanto, lo que se pretende con este apartado es pasar de describir

    conceptualmente el mundo mediante entidades y relaciones, a describirlo

    lgicamente mediante tablas.

    Una vez preparados los atributos de las entidades y relaciones, la

    conversin del diagrama E-R al modelo relacional pasa por dos etapas: una

    en la que se convierten las entidades, y otra en la que se convierten las

    relaciones. No obstante, las tablas que se van obteniendo no adoptan su

    forma definitiva hasta que se ha acabado el proceso.

    Conversin de entidades a tablas.

    Una entidad A con atributos a1...aN se convierte en una tabla de nombre A,

    y nombres de columna o atributos a1...aN. Si la clave de la entidad A est

    formada por los atributos ai...ai+k, la clave de la tabla correspondiente

    estar formada por dichos atributos.

  • UNIDAD 2 Lenguaje de Consultas SQL

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    28

    En definitiva, podemos decir que existe una correspondencia directa entre el

    concepto de entidad del diagrama E-R (una vez eliminados los atributos

    mltiples y los compuestos), y el concepto de tabla relacional.

    P.ej., siguiendo con el caso anterior, la entidad ALUMNO se convertira en la

    tabla adjunta, en la que no hay ningn dato insertado.

    Grfico 14 Entidad Alumno

    ALUMNO

    CODIGO NOMBRES DIRECCIN TELFONO

    Si la entidad es dbil, ser necesario incluir tambin los atributos

    correspondientes a su entidad fuerte, indispensables para poder establecer

    una clave identificativa en la tabla as formada.

    Conversin de relaciones binarias a tablas

    Supongamos el ejemplo de un diagrama que nos permite representar las

    facturas propias de cualquier negocio. Dado que el nmero de lneas de

    detalle de una factura es indeterminado, es necesario crear una relacin

    dbil que relacione cada factura con los detalles que en ella se facturan, tal

    y como se ve en el diagrama del la figura.

    Grfico 15 Esquema E-R de una factura

    ALUMNO

    Cdigo Nombres

    Direccin Telfono

    Nmero IVA

    Cliente Fecha

    FACTURA

    NmeroLnea PrecioUnitario

    TIENE

    Cantidad CdigoArtculo

    LNEAS DETALLE

  • UNIDAD 2 Lenguaje de Consultas SQL

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    29

    FACTURA

    NMERO FECHA CLIENTE IVA

    LNEAS DE DETALLE

    NMERO_ FACTURA

    NMERO LNEA

    CANTIDAD CDIGO ARTCULO

    PRECIO UNITARIO

    Cuando convertimos las entidades FACTURAS y LNEAS DE DETALLE en sus

    tablas correspondientes, obtenemos las de la figura, en la que se observa

    quela tabla de LNEAS DE DETALLE hereda los atributos que forman la clave

    de FACTURAS.

    Con este mtodo est claro cules son las instancias de LNEAS DE

    DETALLE que se relacionan con cada Factura concreta, ya que partiendo del

    Nmero de la Factura buscamos todas las tuplas de LNEAS DE DETALLE en

    las que coincida su atributo Nmero de Factura. Por otro lado, averiguar a

    qu Factura pertenece una Lnea de Detalle es trivial, todo caso que se

    conoce la clave de dicha Factura a travs de Nmero de Factura.

    De esta forma, la relacin dbil Detalle queda representada en el modelo

    relacional por la inclusin de la clave de la relacin fuerte en la tabla de la

    dbil.

    Conversin de relaciones uno a uno

    La conversin de una relacin uno a uno, no da lugar a una tabla nueva,

    sino que modifica una de las dos tablas correspondientes a las entidades

    que relaciona.

    Una relacin R del tipo uno a uno con atributos r1...rN que relaciona

    entidades A y B de claves ai...ai+k y bj...bj+m, modifica la tabla de la entidad

    A, aadindole como atributos los de la clave de B, y los suyos propios, esto

    es bj...bj+m y r1...rN.

    Por ejemplo, supongamos el diagrama E-R de la figura que representa a

    una entidad CLIENTES y a una entidad CASILLEROS DE ROPA, en un

    sistema en el que queremos representar parte de un gimnasio, de manera

    que un cliente alquila un casillero para guardar su ropa, y un CASILLEROS

    DE ROPA slo puede pertenecer como mucho a un CLIENTE. Esta situacin

  • UNIDAD 2 Lenguaje de Consultas SQL

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    30

    se representa mediante la relacin ALQUILA, que en tal caso es del tipo uno

    a uno.

    Grfico 16 Esquema E-R con relacin uno a uno

    Tras convertir las entidades CLIENTES y CASILLEROS DE ROPA en tablas, se

    obtienen las de la figura adjunta.

    CLIENTE

    CDULA NOMBRE APELLIDO DIRECCIN

    CASILLERO DE ROPA

    NMERO SITUACIN

    Si ahora aplicamos la regla dada anteriormente, nos damos cuenta de su

    ambigedad, en el sentido de que hace referencia a una entidad A y otra B.

    En nuestro caso, da lo mismo cual consideremos como entidad A (si a

    CLIENTES o CASILLEROS DE ROPA), ya que el proceso a seguir es idntico

    escojamos la que escojamos.

    Supongamos que la entidad A es CLIENTES, en tal caso para convertir la

    relacin ALQUILA con atributos Fecha alquiler y Duracin, ampliaremos la

    tabla de Clientes con la clave de CASILLEROS DE ROPA, o sea Nmero, y los

    atributos de la relacin CASILLEROS DE ROPA, dando lugar a la tabla

    siguiente.

    CLIENTE

    CDULA NOMBRE APELLIDO DIRECCIN NMERO FECHA ALQUILER

    DURACIN

    Cdula Direccin

    Apellido Nombre

    CLIENTE

    Nmero Situacin

    ALQUILA

    Duracin FechaAlquiler

    CASILLERO ROPA

  • UNIDAD 2 Lenguaje de Consultas SQL

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    31

    Como resultado de esta conversin, hemos transformado una tabla

    aadindole atributos que permiten seguir la relacin existente entre un

    CLIENTE y un CASILLERO DE ROPA. Podemos saber directamente qu

    CASILLEROS DE ROPA tiene asignado un CLIENTE sin ms que consultar su

    clave, en este caso el atributo Nmero, que, por el hecho de ser clave,

    identifica de forma nica una tupla en la tabla de CASILLEROS DE ROPA.

    Asimismo, acompaamos la adicin de esta clave con la adicin de los

    atributos propios de la relacin, con lo que podemos saber qu CASILLERO

    DE ROPA ha alquilado cada CLIENTE, en qu Fecha alquiler y por cunta

    Duracin.

    Por otro lado, para saber a partir de un Nmero de CASILLERO DE ROPA,

    qu CLIENTE la ha alquilado, basta con inspeccionar todas las tuplas de

    Clientes en busca de uno cuyo atributo Nmero coincida con el que estamos

    buscando.

    Por tanto, lo que en el diagrama E-R no era ms que un dibujo que

    relacionaba instancias de una entidad, lo hemos convertido en tablas y

    atributos insertados en ellas que nos permiten seguir el hilo de las

    instancias relacionadas.

    Esta operacin, en la que la clave de una tabla emigra a otra, da lugar a

    lo que se llama clave fornea, que no es ms que el conjunto de atributos

    que conforman la clave migrada.

    Conversin de relaciones uno a muchos.

    Cuando la relacin que se desea convertir es del tipo uno a muchos, la

    solucin es muy parecida a la del punto anterior, y consiste en migrar una

    de las claves a la tabla correspondiente a la otra entidad.

    Una relacin R del tipo uno a muchos con atributos r1...rN que relaciona

    entidades A y B de claves ai...ai+k y bj...bj+m de manera que una instancia de

    A se puede relacionar con muchas de B, modifica la tabla de la entidad B,

    aadindole como atributos los de la clave de A, y los suyos propios, esto es

    ai...ai+k y r1...rN.

  • UNIDAD 2 Lenguaje de Consultas SQL

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    32

    Tpico ejemplo de esta situacin es el diagrama E-R que representa la

    relacin entre una lista de vuelos comerciales y las compaas areas que

    los realizan. Esto puede verse en la figura adjunta.

    Grfico 17 Esquema E-R con relacin uno a muchos

    Tras haber convertido las entidades en tablas se obtienen las de la figura

    siguiente.

    COMPAIAS

    NOMBRE DIRECCIN NACIONALIDAD

    VUELOS

    DESCRIPTOR LUGAR DE SALIDA

    FECHA DE SALIDA

    SITUACIN DESTINO

    En esta situacin, para convertir la relacin REALIZAR al modelo relacional,

    observamos que una COMPAA se relaciona con muchos VUELOS, por lo

    que siguiendo la regla anterior, COMPAA hace las veces de entidad A, y

    VUELOS hace las veces de entidad B. Por tanto, para convertir la relacin,

    basta con incluir la clave de COMPAAS en la tabla de VUELOS, dando

    lugar al siguiente esquema.

    COMPAIAS

    NOMBRE DIRECCIN NACIONALIDAD

    VUELOS

    DESCRIPTOR LUGAR DE

    SALIDA

    FECHA DE

    SALIDA

    SITUACIN DESTINO NOMBRE

    Nombre Direccin

    Nacionalidad

    COMPAAS

    Descriptor Destino

    REALIZA VUELOS

    FechaDeSalida

    LugarDeSalida Situacin

  • UNIDAD 2 Lenguaje de Consultas SQL

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    33

    En este caso, la relacin REALIZAR carece de atributos propios por lo que

    no se aaden ms atributos a la tabla de VUELOS.

    En este punto es interesante hacer notar que en el diagrama E-R existe la

    posibilidad de tener entidades distintas con atributos distintos pero con el

    mismo nombre; p.ej., puede ser comn tener la entidad CLIENTES con un

    atributo CDULA, y a la vez tener la entidad EMPLEADOS con un atributo

    tambin llamado CDULA. Esto es posible porque cuando se hace referencia

    a CDULA, es necesario tambin indicar la entidad a que nos referimos:

    CLIENTES o EMPLEADOS.

    Sin embargo, en el momento de efectuar la conversin del diagrama a las

    tablas relacionales, vemos que en ciertas situaciones es necesario migrar

    las claves de unas entidades a otras, lo cual puede dar conflictos de

    nombres. Por ejemplo, qu ocurrira si el atributo que forma la clave de

    VUELOS (destinado a guardar el cdigo del vuelo: IB-713, AV-098, etc.),

    en lugar de llamarse Descriptor se llamase Nombre? Est claro que cuando

    se migrase la clave de la COMPAA a la tabla de VUELOS habra un

    problema, pues tendramos dos atributos con el mismo nombre.

    Pues bien, tanto si se produce esa situacin como si no, cuando se migra la

    clave de una tabla a otra, nada nos impide renombrar los atributos en su

    nueva ubicacin. Por ejemplo, en el caso anterior, la tabla VUELOS podra

    haber quedado como se ve en la figura: el atributo Nombre ha pasado a

    llamarse Nombre de Compaa.

    COMPAIAS

    NOMBRE DIRECCIN NACIONALIDAD

    VUELOS

    DESCRIPTOR LUGAR DE SALIDA

    FECHA DE SALIDA

    SITUACIN DESTINO NOMBRE DE COMPAA

    Lo que s est claro, en cualquier caso, es que el atributo Nombre de

    Compaa sigue siendo clave fornea, aunque tenga distinto nombre.

  • UNIDAD 2 Lenguaje de Consultas SQL

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    34

    Conversin de relaciones muchos a muchos.

    Este es el caso ms general de conversin de relaciones, pudiendo incluso

    aplicarse en las relaciones uno a uno y uno a muchos. El nico motivo por el

    que no se da esta regla como nica regla general es la eficiencia, ya que

    como veremos implica la creacin de tablas nuevas y la duplicacin de

    informacin en gran cantidad.

    Una relacin R del tipo muchos a muchos con atributos r1...rN que

    relaciona entidades A y B de claves ai...ai+k y bj...bj+m respectivamente, se

    convierte en una tabla llamada R y compuesta por los atributos de las

    claves de A y B, as como por los atributos propios de la relacin R, esto es

    ai...ai+k, bj...bj+m, y r1...rN. Los atributos ai...ai+k, bj...bj+m forman la clave de

    la nueva tabla.

    En el caso de las relaciones muchos a muchos no podemos ampliar ninguna

    de las tablas asociadas porque necesitaramos un nmero indeterminado de

    claves forneas. Por tanto, la solucin pasa por crear una nueva tabla con el

    nico objetivo de contener los pares de instancias que se relacionan;

    evidentemente, en lugar de repetir toda la informacin de cada instancia, se

    almacena tan slo la informacin identificativa: la clave.

    Para ilustrar esto, supongamos que queremos representar la informacin

    relativa a los ALUMNOS del colegio y los CLUBES en que se halan

    matriculados. El diagrama E-R que representa puede verse en la figura.

    Grfico 18 Esquema E-R con relacin muchos a muchos

    Dado que la relacin MATRCULAS es muchos a muchos, segn la regla

    anterior, la conversin implica crear una nueva tabla con el mismo nombre,

    o sea MATRCULAS, y con los atributos Veces Matriculado y Convocatorias

    ALUMNO MATRICULA CLUB

    Nombre Apellido

    Cdula AoNacimiento Cdigo Nombre

    VecesMatriculado ConvocatoriasAgotadas

  • UNIDAD 2 Lenguaje de Consultas SQL

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    35

    Agotadas, as como las claves de ALUMNOS y ASIGNATURAS, o sea, Cdula

    y Cdigo, que podemos renombrar como Cdula del Alumno y Cdigo de

    Club, quedando las tablas de la figura siguiente.

    ALUMNOS

    CDULA NOMBRE APELLIDO AO DE NACIMIENTO

    CLUB

    CDIGO NOMBRE

    MATRCULA CLUB

    CDULA ALUMNO

    CDIGO DE CLUB

    VECES MATRICULADO

    CONVOCATORIAS AGOTADAS

    Con este esquema de tablas, para saber en qu CLUBES se ha matriculado

    un alumno concreto, basta con buscar todas las veces que parezca su

    cdula en la tabla MATRCULAS; cada tupla en la que aparezca contendr

    adems la clave de una de los clubes en la que est matriculado.

    Para saber el nombre de cada club utilizaremos el Cdigo de club como

    clave para buscar el nombre en la tabla CLUBES.

    Es interesante hacer notar la necesidad de los atributos asociados a la

    relacin, tal y como explicbamos en el captulo de diagramas E-R.

    ACTIVIDAD

    Investigue cmo se hace la Transformacin de relaciones no binarias a

    tablas. Se evaluar: Portada, ndice de contenidos, ndice de grficos (si es

    que los hay), calidad de la teora investigada, ejemplos, conclusiones,

    recomendaciones y bibliografa.

    Recuerde que una buena investigacin implica una buena sustentacin de la

    misma.

  • UNIDAD 2 Lenguaje de Consultas SQL

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    36

    5. Normalizacin desde el punto de vista del diseo lgico de

    una base de datos

    5.1 Introduccin Terica

    Una vez creadas las tablas en el modelo relacional hay que verificarlas y

    revisar si an se puede reducir u optimizar de alguna manera.

    Los problemas tales como la redundancia que ocurren cuando se abarrotan

    demasiados datos en una sola relacin son llamados anomalas. Los

    principales tipos son:

    1. Redundancia: la informacin se repite innecesariamente en muchas

    tuplas. En la relacin siguiente: ALUMNO, CURSO, PARALELO,

    ESPECIALIDAD.

    2. Anomalas de actualizacin: cuando al cambiar la informacin en

    una tupla se descuida el actualizarla en otra. Si en la relacin

    encontramos que la EDAD de David Bustamante es 15 podramos

    cambiarlo nicamente para la primer tupla y olvidar actualizar las

    dems.

    3. Anomalas de eliminacin: si un conjunto de valores llegan a estar

    vacos y se llega a perder informacin relacionada como un efecto de

    la eliminacin. Si eliminamos la materia CCNN 2, perdemos tambin

    la tupla del alumno Polo Garca.

    ALUMNOS

    ALUMNO CURSO PARALELO EDAD ESPECIALIDAD MATERIA

    David Bustamante Dcimo F 14 Bsica Matemticas III

    David Bustamante Dcimo F 14 Bsica Computacin III

    David Bustamante Dcimo F 14 Bsica Ingls III

    Polo Garca Octavo A 12 Bsica CCNN I

    Ral Bolaos Noveno B 13 Bsica Ingls II

    Ral Bolaos Noveno B 14 Bsica CCSS II

    5.2 Dependencia Funcional

    En el diseo de esquemas de bases de datos el concepto de dependencia

    funcional (functional dependency) es vital para eliminar "redundancia",

  • UNIDAD 2 Lenguaje de Consultas SQL

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    37

    otros factores sera el manejo de dependencias multivaluadas y las

    restricciones de integridad referencial.

    Como vimos anteriormente, las relaciones pueden usarse como modelos del

    mundo real, estos hechos del mundo real implican que no todo conjunto

    de tuplas conforman una instancia vlida del esquema de relacin, an

    cuando los valores de las tuplas hayan sido tomados de los dominios

    correctos. Por ejemplo, si tenemos el esquema:

    Alumnos= {Cdigo, Nombre, Edad, Curso}

    La siguiente instancia no es vlida:

    ALUMNOS

    CDIGO NOMBRE EDAD CURSO

    1234 David Bustamante 314 Dcimo

    5678 Toms Alarcn 15 Primero de Bachillerato

    9101 Humberto Lpez 12 Tercero de Bachillerato

    1121 Miguel Farfn 16 Tercero de Bachillerato

    5678 Mario Osorio 15 Segundo de Bachillerato

    Podemos distinguir dos tipos de restricciones9 sobre las relaciones:

    Restricciones que dependen de la semntica del dominio. Estas

    restricciones surgen de comprender el significado de las componentes de las

    tuplas. En el ejemplo anterior, David Bustamante no puede tener 314 aos

    y Humberto Lpez no puede estar en Tercero de Bachillerato cuando slo

    tiene 12 aos de edad. Conocer estas restricciones no ayudan a lograr un

    buen diseo de la base de datos, pero es necesario considerarlas para que

    el DBMS chequee los errores que posiblemente ocurrirn en el momento de

    cargar los datos.

    Restricciones que dependen de la igualdad o desigualdad de

    valores. Estas restricciones no dependen de qu valor tiene una tupla en

    una componente dada, sino que se basan en que dos tuplas coinciden en

    ciertas componentes. En el ejemplo anterior, no puede suceder que Pedro y

    Mario Osorio tengan el mismo valor en el campo CDIGO, ms all de cul

    9 Restricciones: Es una condicin que obliga el cumplimiento de ciertas condiciones en la bases de datos.

  • UNIDAD 2 Lenguaje de Consultas SQL

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    38

    sea ese valor. Estas restricciones se conocen con el nombre de

    dependencias. Existen distintos algunos tipos de dependencias: funcionales,

    multivaluadas, de inclusin y de producto (join). Cada tipo de dependencia

    es un caso particular de la que le sigue.

    Si deseamos disponer de mtodos algortmicos eficientes para el diseo de

    una base de datos relacional debemos primero estudiar y resolver

    problemas relacionados con la manipulacin de dependencias entre los

    datos. Por alcance de ste curso analizaremos solamente las dependencias

    funcionales.

    Entonces qu es la Dependencia funcional?

    Una dependencia funcional es una conexin entre uno o ms atributos. Por

    ejemplo si conocemos el valor de FechaDeNacimiento podemos conocer el

    valor de Edad.

    Las dependencias funcionales del sistema se escriben utilizando una flecha,

    de la siguiente manera:

    FechaDeNacimiento Edad

    Aqu a FechaDeNacimiento se le conoce como un determinante. Se puede

    leer de dos formas FechaDeNacimiento determina a Edad o Edad es

    funcionalmente dependiente de FechaDeNacimiento.

    Las dependencias funcionales representan restricciones de la realidad. Por

    consiguiente, la nica manera de determinar las dependencias funcionales

    que se cumplen en una tabla R es analizando cuidadosamente las

    restricciones de la realidad que estamos representando.

    Las dependencias funcionales son afirmaciones del mundo real que nos

    dicen qu instancias son vlidas para un esquema R.

    5.3 Qu es la Normalizacin?

    Se puede entender la normalizacin como una serie de reglas que sirven

    para ayudar a desarrollar tablas que minimicen los problemas de lgica.

    Cada regla est basada en la que le antecede.

  • UNIDAD 2 Lenguaje de Consultas SQL

    Colegio Tcnico Salesiano Sistemas Gestores de bases de datos Tercero de Bachillerato Aplicaciones Informticas

    39

    Una de las ventajas de la normalizacin de base de datos es el consumo de

    espacio. Una base de datos normalizada ocupa menos espacio en disco que

    una no normalizada. Hay menos repeticin de datos, lo que tiene como

    consecuencia un mucho menor uso de espacio en disco.

    El proceso de normalizacin tiene un nombre y una serie de reglas para

    cada fase. Esto puede parecer un poco confuso al principio, pero poco a

    poco se va entendiendo el proceso, as como las razones para hacerlo de

    esta manera.

    Grados de normalizacin

    Existen bsicamente tres niveles de normalizacin: Primera Forma Normal

    (1NF), Segunda Forma Normal (2NF) y Tercera Forma Normal (3NF). Cada

    una de estas