Sei sulla pagina 1di 16

CURP CURP CURP Nombre Alojamiento CURP Nombre CURP Nombre Edad CURP CURP NombreCompleto OficioAlojamiento Nombre

Oficio Edad Oficio Edad Diseo de una bases de datos Oficio Oficio Responsable Descripcion Edad Descripcion Alojamiento Descripcion Alojamiento Responsable Desempeo Desempeo Direccion Alojamiento Responsable Desempeo Responsable Direccion Bsicamente podemos distinguir tres tipos de estructuras de bases de datos; Direccion Direccion Oficio1 jerrquica, en red y relacional, la primera que se utilizo (70s), fue la: Oficio2 a) Jerrquica: se basaba en el establecimiento de jerarquas o niveles entre los distintos campos de los registros, basndose en el criterio de que los campos de mayor jerarqua son los ms genricos, y tiene una estructura arborescente, donde los nodos del mismo nivel corresponden a los campos y cada rama a un registro para acceder a un campo que se encuentra en un determinado nivel, es preciso localizarlo partiendo del nivel superior y descendiendo por las ramas hasta llegar al mismo. Esta forma de organizacin puede hacer lenta la obtencin de determinadas informaciones, ya que para acceder a un nodo (campo) hay que recorrer toda la rama partiendo de la raz (nodo de mayor jerarqua).

b) En Red: Corresponde a una estructura de Grafo, donde existe ms de una conexin entre los nodos de diversos niveles, de forma que puedan recorrerse por distintos caminos sin necesidad de acudir cada vez a la raz, con lo cual la bsqueda es ms flexible, desapareciendo el concepto de jerarqua entre campos, pues un campo puede ser descendiente de su antecesor por un camino de la red y ascendente por otro. El inconveniente esencial de esta estructura es la necesidad de utilizar mucha ms cantidad de memoria, al tener que almacenar en cada nodo las posiciones de los campos siguientes, mediante apuntadores.

c) Relacionales: Las tablas son tratadas como conjuntos matemticos, obtenidas como subconjuntos del producto cartesiano de los rangos de posibles valores de los distintos campos que la forman. Cada tabla dispone de una cabecera que es un registro especial donde figuran los nombres de los campos y una serie de registros (filas) donde se escriben los objetos. Quiz el problema fundamental que suele presentarse al realizar una base de datos real, formada por varias tablas, es la repeticin de datos, es decir, campos repetidos en diferentes tablas (redundancia) lo cual dificultara su gestin es decir, la actualizacin, insercin, modificacin, eliminacin, consulta, etc.

Las principales ventajas de la utilizacin de bases de datos relacionales son: Actan sobre las tablas en su conjunto, en lugar de hacerlo sobre los registros como ocurre con otros sistemas. Se pueden realizar consultas complejas que utilizan varias tablas de forma simple. Son fciles de utilizar (la organizacin fsica de los datos es independiente de su tratamiento lgico).

Fig 2.2 Caractersticas de las bases de las bases de datos relacionales. Para que la estructura de las tablas cumpla las leyes de la teora relacional deben satisfacerse las siguientes condiciones: 1.- Todos los registros de la tabla deben tener el mismo nmero de campos, aunque alguno de ellos este vaco, deben ser registros de longitud fija.

2.- Cada campo tiene un nombre o etiqueta que hay que definir previamente a su utilizacin. No obstante, una vez creado el fichero se podr ampliar o disminuir el nmero de campos, mediante el SGBD. 3.- La base de datos estar formada por muchas tablas, una por cada tipo de registro si tomamos el ejemplo de una biblioteca podramos definir las tablas: AUTOR, NACIONALIDAD, PROFESION. 4.- Dentro de una tabla cada nombre de campo debe ser distinto, por ejemplo, en la de materias podra haber Autor 1, Autor 2, pero no puede haber dos campos con el nombre Autor, pues al referirnos con el gestor al nombre de campo Autor no sabra cual utilizar. 5.- Los registros de una misma tabla tienen que diferenciarse, al menos en el contenido de uno de sus campos, no puede haber dos registros idnticos. 6.- Los registros de una tabla pueden estar dispuestos en cualquier orden. 7.- El contenido de cada campo est delimitado por un rango de valores posibles. Ejem. Al ingresar el ao de edicin de un libro no puede ponerse MIL o M, ni cualquier otro carcter alfabtico, e incluso ningn ao mayor que 2000, por no estar dentro del rango de los posibles. 8.- Permite la creacin de nuevas tablas a partir de las ya existentes, relacionando campos de distintas tablas anteriores. Esta condicin es la esencial de las bases de datos relacionales, formando lo que se llama un fichero virtual (temporalmente en memoria). Operaciones relacionales bsicas. Una base de datos relacional constara de varias tablas con las que se pueden efectuar tres operaciones fundamentales, llamadas operaciones relacionales, que permiten la creacin de nuevas tablas a partir de las ya existentes. a) Seleccin: consiste en la obtencin de una nueva tabla (fichero) formada por algunas de las filas (registros) seleccionadas de otra tabla previamente existente.

2.4

b) Proyeccin: consiste en la obtencin de una nueva tabla (fichero) formada por algunas columnas (campos) seleccionadas de otra tabla previamente existente.

2.5

c) Concatenacin: consiste en la obtencin de una nueva tabla (fichero) uniendo dos tablas ya existentes. Por lo general, la unin de registros se efecta si en ambas tablas coincide el contenido de un campo prefijado de cada una de ellas. Cuando se produce la coincidencia, se crea un registro en la tabla nueva, aadiendo a los campos de la primera tabla los de la segunda.

2.7 Diseo de una base de datos relacional. Lo primero que hay que tener presente a la hora de disear una base de datos relacional es el propio concepto de modelo relacional, que organiza los datos en una base de datos como una coleccin de tablas teniendo presente inicialmente lo siguiente: Cada tabla tiene un nombre que la identifica inequvocamente. Cada tabla tiene una o ms columnas nominadas, que estn dispuestas en un orden especfico de izquierda a derecha. Cada tabla tiene cero o mas filas, conteniendo cada una un nico valor en cada columna. Las filas estn desordenadas. Todos los valores de una columna determinada tienen el mismo tipo de datos y estos estn extrados, de un conjunto de valores legales llamado el dominio de la columna.

A su vez, las tablas estn relacionadas unas con otras por los datos que contienen. El modelo de datos relacional utiliza claves primarias y claves secundarias (externas o forneas) para representar estas relaciones entre tablas.

A la hora de definir las claves primarias y secundarias es necesario tener presente de entrada lo siguiente: Una clave primaria es una columna o combinacin de columnas dentro de una tabla cuyo valor identifica unvocamente a cada fila de la tabla. Cada tabla tiene una clave primaria. Una clave secundaria es una columna o combinacin de columnas en una tabla cuyo valor es un valor de clave primaria para alguna otra tabla. Una tabla puede contener ms de una clave secundaria, enlazndola a una o ms tablas. Una combinacin clave primaria / clave secundaria crea una relacin padre / hijo entre tablas que las contienen.

Normalizacin de una base de datos: La normalizacin es una tcnica eficaz para el diseo de bases de datos que puede aplicarse tanto a sistemas relacionales como a otros modelos. Con la tcnica de normalizacin se trata de evitar la dependencia entre inserciones, actualizaciones y borrado de las tablas de la base de datos, tambin se reducen las operaciones de reorganizacin cuando hay que incorporar nuevos datos. La normalizacin tiene tres etapas que transforman las relaciones no normales en normalizadas y que se denominan, primera, segunda y tercera formas normales. Primera forma normal El primer caso de la normalizacin es poner los datos en la primera forma normal. Esto se hace situando los datos en tablas separadas, de manera que los datos de cada tabla sean de tipo similar, y dando a cada tabla una clave primaria y un identificador o etiqueta nica. Esto elimina los grupos repetidos de datos. Supongamos que, inicialmente, tenemos toda la informacion a incluir en una base de datos en una sola tabla de nombre EMPLEADO cuyos campos pueden ser CURP, Nombre, Edad, Alojamiento, Responsable, Direccion, Oficio1, Oficio2. EMPLEADOS

Los usuarios de esta tabla tendran problemas al almacenar los datos de los empleados de la compaa, puesto que al definir el oficio de los empleados solo disponemos de tres opciones. En lugar de fijar el numero de oficios de cada trabajador a tres como en la primera tabla, cada oficio del trabajador se localizara en supropia tabla separada (tabla OFICIO), con una fila por nombre, oficio y descripcion del oficio. De esta forma se elimina la necesidad de un numero variable de oficios en la tabla EMPLEADO. Lo siguiente que se debe hacer es definir una clave primaria para cada tabla: aquella que identificara de unica los registros y servira para obtener una fila de informacion. La CURP del trabajador sera la clave primaria de la tabla EMPLEADO. Puesto que cada puede tener varias filas en la nueva tabla OFICIO, el nombre y el oficio seran la clave primaria completa de la tabla OFICIO (las dos partes combinadas hacen el total). EMPLEADO Clave primaria OFICIO

Segunda forma normal Se centra en aislar los datos que solo dependen de una parte de la clave, para obtener la segunda forma normal, se deben sacara Oficio y Descripcion a una tercera tabla. La clave primaria de la tercera tabla es Oficio y su de esta manera su Descripcion solo aparece una ves, si se compara con la primera en la que deben aparecer para cada empleado con el mismo oficio, ademas cuando el ultimo trabajador que tenga el oficio de herrero este oficio no desaparecera si no quedara almacenado para otro futuro, podiendo agregarse los oficios incluso antes de que estos sena contratados.

Es obligatorio que para que las tablas esten en segunda forma hayan estado en primera. EMPLEADO OFICIO-EMPLEADO OFICIO

Tercera forma normal Implica deshacerse de cualquier cosa de las tablas que no dependa unicamente de la clave primaria. La informacion de los trabajadores sobre el alojamiento depende de donde esten viviendo (si se trasladan habra que actualizar la fila con el nuevo nombre del alojamiento en que viven). Pero el dueo de la vivienda y su direccion no dependen de si el ampleado vive ah o no, por lo cual se creara una cuarta tabla VIVIENDA con la informacion de alojamiento. Una vez que los datos estan en tercera formal, estan ya de manera automatica en la segunda y la primera forma normal. Por lo tato se puede decir que el proceso puede ser menos tedioso si se aplica directamente la tercera forma normal, simplemente basta con organizar los datos para que las columnas de cada tabla, aparte de la clave primaria, dependan unicamente de toda la clave primaria.

EMPLEADO VIVIENDA Ejercicio:

OFICIO-EMPLEADO

OFICIO

Considerar la base de datos EMPLEADOS que contiene informacion correspondiente a una sencilla aplicacin de procesamiento de pedidos para una pequea empresa de distribucion. Consta de cinco tablas: 1.- CLIENTES, sus campos son: NUM_CLIE (numero de cliente), EMPRESA, REP_CLIE (numero de empleado que representa a un cliente) y LIM-CREDITO (limite de credito). 2.- REPVENTAS, sus campos son: NUM_EMPL (numero de empleado), NOMBRE, EDAD, OFICINA_REP (numero de oficina de representacion del vendedor), TITULO, CONTRATO, DIRECTOR, CUOTA (ventas previstas) y VENTAS (ventas realizadas).

3.- OFICINAS, sus campos son: OFICINA (numero de oficina), CIUDAD, REGION, DIR (numero de empleado del director), OBJETIVO (ventas anuales previstas) y VENTAS (ventas anuales realizadas). 4.- PRODUCTOS, sus campos son: ID_FAB (identificador de fabricante), ID_PRODUCTO (identificador del producto). DESCRIPCION, PRECIO y EXISTENCIA. 5.- PEDIDOS, (por simplicidad cada registro es de un solo producto), sus campos son: NUM_PEDIDO (numero de pedido), FECHA_PEDIDO (fecha del pedido), CLIE (numero de cliente), REP (numero de empledo del representante), FAB (identificador del fabricante), PRODUCTO (identificador del producto), CANT (cantidad) e IMPORTE. a) cada tabla debe tener una columna o combinacion de columnas que represente a solo una fila por tabla (clave primaria). b) claves secundarias, externa o foranea (una columna de una tabla cuyo valor coincida con la clave primaria de otra). c) una clave foranea compuesta es aquella que referencia a una clave primaria compuesta.

Ejercicio 2 Realizar una base de datos a una aula con las siguientes caracteristicas: Numero de alumno, Direccion del alumno, Calificaciones, Numero de aula, Nombre del tutor, Direccion del tutor y Calificacion final. Definir un conjunto razonable de tablas para la base de datos que esten normalizadas.

1era Forma.- Dado que el campo calificaciones puede tomar un valor diferente por asignatura: Numero de alumno Nombre del alumno Direccion del alumno Numero de aula Nombre del tutor Direccion del tutor Calificacion final 2da Forma.- Vemos que el campo calificacion global depende del numero de alumno y numero de evaluacion pero no de la asignatura. Numero de alumno alumno Nombre del alumno evaluacion Direccion del alumno global Numero de aula Nombre del tutor Direccion del tutor Calificacion final 3era Forma: solo falta que todos los campos dependendan solo de el campo clave. Numero de alumno | Numero de aula | Numero de alumno | | Numero de alumno Numero de | | | | | Numero de alumno Asignatura Numero de evaluacion Calificacion | | | Numero de Numero de Calificacion | | | | | Numero de alumno Asignatura Numero de evaluacion Calificacion Calificacion global

Nombre del alumno | Asignatura evaluacion | Nombre del tutor Direccion del alumno | | Direccion del tutor Numero de aula | Numero de evaluacion | Calificacion

Calificacion global

Calificacion final Ejercicio 3 Realizar una base de datos en un contexto educativo con las siguientes caracteristicas: Curso (cnumero, cnombre, cdescripcion, creditos, cdepto), Departamento (dept, dedificio, depdespacho) Estudiante (numcontrol, nombre, domicilio, telefono) Matricula (cnumero, edificio, aula, numestudiantes) y Personal (nombre, cargo, sueldo, dept.) Definir un conjunto razonable de tablas para la base de datos que esten normalizadas y con el tipo y extension de cada campo. 1.6.- Restricciones de columna validacion de datos : Su funcin es definir reglas de validacin de la columna. Para facilitar la continuidad del anlisis, usaremos como ejemplo las tablas definidas en el artculo anterior: Clientes y VENTAS. La definicin de restricciones al crear las tablas permite establecer reglas de validacin de datos, as como los controles necesarios para mantener la integridad referencial entre tablas a travs de las columnas claves. Las restricciones que se pueden definir son: Valor obligatorio: En Oracle existe el concepto de valor nulo (NULL), como un valor indefinido o ausencia de valor y que es diferente al numero 0 o al carcter espacio. Por lo tanto, para que una columna siempre tenga valor (sea obligatoria) se define como NOT NULL. Rango de valores: Sirven para chequear que el valor sea mayor a un valor determinado o para que se encuentre entre dos valores. Clave Primaria: Columnas que identifican de forma nica al registro, es un valor nico y no nulo (NOT NULL). Por ejemplo: el cdigo del cliente es una clave primaria que identifica de forma nica e irrepetible a cada cliente. Clave Externa: Columna de la tabla que hace referencia a un valor que tiene que estar registrado en otra tabla. Por ejemplo: la columna cdigo de la tabla VENTAS es una clave externa que hace referencia a un valor de la columna cdigo (clave primaria) de la tabla Clientes.

manual MySQL 5.0.51b Realizar una base de datos de una agenda con las siguientes caracteristicas: minimo tres tablas, minimo 4 columnas por tabla, clave primaria por tabla,

minimo una clave foranea. Definir un conjunto razonable de tablas para la base de datos que esten normalizadas.

Potrebbero piacerti anche