Download wilmer - wiki151092
Document related concepts
Transcript
Entidad En bases de datos, una entidad es la representación de un objeto o concepto del mundo real que se describe en una base de datos. Una entidad se describe en la estructura de la base de datos empleando un modelo de datos Por ejemplo, nombres de entidades pueden ser: Alumno, Empleado, Artículo, etc. Cada entidad está constituida por uno o más atributos. Por ejemplo, la entidad "Alumno" podría tener los atributos: nombre, apellido, año de nacimiento, etc. En el modelo de entidad-relación se emplean dos tipos de entidades: entidad fuerte y entidad débil. Las entidades fuertes tienen atributos claves, en tanto las entidades débiles no tienen atributos claves propios Registro Un registro (también llamado fila o tupla) representa un objeto único de datos implícitamente estructurados en una tabla. En términos simples, una tabla de una base de datos puede imaginarse formada de filas y columnas o campos. Cada fila de una tabla representa un conjunto de datos relacionados, y todas las filas de la misma tabla tienen la misma estructura. Tupla La fila se interpreta entonces como una variable relacional compuesta por un conjunto de tuplas, cada una de las cuales consta de dos ítems: el nombre de la columna relevante y el valor que esta fila provee para dicha columna. Campo A los campos se les puede asignar, además, propiedades especiales que afectan a los registros insertados. El campo puede ser definido como índice o auto incrementable, lo cual permite que los datos de ese campo cambien solos o sea el principal indicar a la hora de ordenar los datos contenidos. Llaves Los valores en una fila de las columnas referendo deben existir solo en una fila en la tabla referenciada. Así, una fila en la tabla referendo no puede contener valores que no existen en la tabla referenciada. De esta forma, las referencias pueden ser creadas para vincular o relacionar información. Esto es una parte esencial de la normalización de base de datos. Múltiples filas en la tabla referendo pueden hacer referencia, vincularse o relacionarse a la misma fila en la tabla referenciada. Mayormente esto se ve reflejado en una relación uno (tabla maestra o referenciada) a muchos (tabla hija o referendo). Normalización La normalización o estandarización es la redacción y aprobación de normas que se establecen para garantizar el acoplamiento de elementos construidos independientemente, así como garantizar el repuesto en caso de ser necesario, garantizar la calidad de los elementos fabricados y la seguridad de funcionamiento. La normalización persigue fundamentalmente tres objetivos: •Simplificación: Se trata de reducir los modelos quedándose únicamente con los más necesarios. •Unificación: Para permitir la intercambiabilidad a nivel internacional. •Especificación: Se persigue evitar errores. Cardinalidad Simplemente la forma en que se relacionan las Entidades, o expresa cuantas entidades se relacionan con otras entidades. Hay varias maneras de mostrar las cardinalidades: Poner etiquetas en las líneas que unen las Relaciones con las entidades, consiste mínimo y máximo que contiene un cero. 1. 2. 3. 4. Uno a uno Uno a varios Varios a uno Varios a varios Modelo-Entidad-Relación Entidad Se trata de un objeto del que se recoge información de interés de cara a la base de datos. Gráficamente se representan mediante un rectángulo. Un ejemplo seria la entidad banco, donde se recogerían los datos relativos a ese banco, como puede ser el nombre, el número de sucursal, la dirección, etc. Dentro de las entidades pueden ser fuertes o débiles. Las fuertes son las que no dependen de otras entidades para existir, mientras que las entidades débiles siempre dependen de otra entidad sino no tienen sentido por ellas mismas. Relación Podemos definir la relación como una asociación de dos o más entidades. A cada relación se le asigna un nombre para poder distinguirla de las demás y saber su función dentro del modelo entidad-relación. Otra característica es el grado de relación, siendo las de grado 1 relaciones que solo relacionan una entidad consigo misma. Las de grado 2 son relaciones que asocian dos entidades distintas, y las de grado n que se tratan de relaciones que unen más de dos entidades. Diagrama Denominado por sus siglas como: E-R; Este modelo representa a la realidad a través de un esquema gráfico empleando los terminología de entidades, que son objetos que existen y son los elementos principales que se identifican en el problema a resolver con el diagramado y se distinguen de otros por sus características particulares denominadas atributos, el enlace que que rige la unión de las entidades esta representada por la relación del modelo. Recordemos que un rectángulo nos representa a las entidades; una elipse a los atributos de las entidades, y una etiqueta dentro de un rombo nos indica la relación que existe entre las entidades, destacando con líneas las uniones de estas y que la llave primaria de una entidad es aquel atributo que se encuentra subrayado. A continuación mostraremos algunos ejemplos de modelos E-R, considerando las cardinalidades que existen entre ellos: Relación Uno a Uno. Diseñar el modelo E-R, para la relación Registro de automóvil que consiste en obtener la tarjeta de circulación de un automóvil con los siguientes datos:Automóvil- Modelo, Placas, Color - Tarjeta de circulación -Propietario, No serie, Tipo. Indicamos con este ejemplo que existe una relación de pertenencia de uno a uno, ya que existe una tarjeta de circulación registrada por cada automóvil. En este ejemplo, representamos que existe un solo presidente para cada país. Relación muchos a muchos. El siguiente ejemplo indica que un cliente puede tener muchas cuentas, pero que una cuenta puede llegar a pertenecer a un solo cliente (Decimos puede, ya que existen cuentas registradas a favor de más de una persona). Modelo lógico En este capítulo se describen los pasos para llevar a cabo el diseño lógico. Ya que aquí se trata el diseño de bases de datos relacionales, en esta etapa se obtiene un conjunto de relaciones (tablas) que representen los datos de interés. Este conjunto de relaciones se valida mediante la normalización, técnica que se estudia al final del capítulo. La metodología que se va a seguir para el diseño lógico en el modelo relacional consta de dos fases, cada una de ellas compuesta por varios pasos que se detallan a continuación. ·Construir y validar los esquemas lógicos locales para cada vista de usuario. 1. Convertir los esquemas conceptuales locales en esquemas lógicos 2. Derivar un conjunto de relaciones (tablas) para cada esquema lógico 3. Validar cada esquema mediante la normalización. 4. Validar cada esquema frente a las transacciones del usuario. 5. Dibujar el diagrama entidad-relación. 6. Definir las restricciones de integridad. 7. Revisar cada esquema lógico local con el usuario correspondiente. Construir y validar el esquema lógico global. 8. Mezclar los esquemas lógicos locales en un esquema lógico global. 9. Validar el esquema lógico global. 10. Estudiar el crecimiento futuro. 11. Dibujar el diagrama entidad-relación final. 12. Revisar el esquema lógico global con los usuarios Modelo físico El paso de un modelo lógico a uno físico requiere un profundo entendimiento del manejador de bases de datos que se desea emplear, incluyendo características como: Conocimiento a fondo de los tipos de objetos (elementos) soportados Detalles acerca del indexa miento, integridad referencial, restricciones, tipos de datos, etc. Detalles y variaciones de las versiones Parámetros de configuración Data Definición Lenguaje (DDL) Como se comentó en el modelado lógico el paso de convertir el modelo a tablas hace que las entidades pasen a ser tablas (más las derivadas de las relaciones) y los atributos se convierten en las columnas de dichas tablas. Físicamente esta metáfora de una tabla se mapea al medio físico, con algunas consideraciones como se menciona en las siguientes secciones. Atributos Tipos de Datos Revisar los tipos de datos disponibles en el DBMS, en especial Número de dígitos en números enteros La precisión de los flotantes Cadenas de caracteres de longitud fija y variable Llaves primarias En ocasiones se pueden presentar casos en donde la llave primaria no puede representarse en alguno de los tipos ofrecidos por, en ese caso se podria definir alguno y bien optar por otra llave primaria. Importante: Algunos poseen la capacidad de "autoincremento" o " con la cual pueden automáticamente manipular algún atributo para generar llaves incrementales. Pero es importante verificar: como se manejan internamente ?, se pueden reiniciar ?, se permite especificar algún valor inicial ?. Orden de los atributos (columnas) Algo importante dependiendo que se utilice pero por lo general la secuencia es: Columnas de longitud fija que no se actualizan frecuentemente. Aquellas que nunca se actualizan que por lo general tendrán longitud variable. Las que se actualizan frecuentemente. Integridad Referencial En la medida de lo posible indicar cuales columnas brindan o sirven de vínculo entre 2 tablas. El usuario (programador) puede hacerse cargo de esto pero es mejor que se haga cargo. No se recomienda en ambientes de desarrollo. Índices "Es una tabla que contiene una lista de elementos (llaves) y números de referencia donde dichos elementos se encuentran (campos de referencia)". Un índice es un atajo desde un campo llave hacia la localización real de los datos. Es el punto clave de la optimización de velocidad de toda base de datos. Si se busca alguna tupla en base a un atributo que no tiene un índice entonces se realiza un escaneo de la tabla completa lo cual es demasiado costoso, por eso es recomendable usar índices en: Llaves primarias Llaves foráneas Índices de acceso Ordenamiento No olvidar que el uso de un índice implica: Overead debido a la actualización de los mismos Espacio adicional en disco Procesos de muchos datos pueden volverse demasiado lentos Manipulación de archivos adicionales por el sistema operativo Lenguaje de consulta Los lenguajes de consultas: Son los lenguajes en el que los usuarios solicitan información de la base de datos. Estos lenguajes son generalmente de más alto nivel que los lenguajes de programación. Los lenguajes de consulta pueden clasificarse como procedimentales y no procedimentales; En el lenguaje del tipo procedimental el usuario da las instrucciones al sistema para que realice una secuencia de operaciones en la base de datos para calcular el resultado deseado. En el lenguaje no procedimental, el usuario describe la información deseada sin dar un procedimiento específico para obtener dicha información. El álgebra relacional es un lenguaje de consulta formal procedimental, el álgebra relacional define operadores que funcionan sobre las tablas (de una manera similar a los operadores +,-, etc. del álgebra común) para llegar al resultado deseado. El álgebra relacional es difícil de utilizar, debido en parte a que es procedimental, esto es, al utilizar el álgebra relacional no sólo debemos saber lo que queremos, también cómo obtenerlo. En el proceso de bases de datos comerciales el álgebra relacional se utiliza de manera poco frecuente. Aunque unos cuantos productos exitosos DBMS sí tienen opciones del álgebra relacional, éstas son poco utilizadas en vista de su complejidad. El álgebra relacional toma dos o más tablas como entrada producen una nueva tabla como resultado de la serie de operaciones. Las operaciones fundamentales en el álgebra relacional son seleccionar, proyectar, producto cartesiano, renombrar, unión y diferencia de conjuntos. Además de las operaciones fundamentales existen otras operaciones como son: intersección de conjuntos, producto natural, división y asignación. Tabla alumno: Control Nombre Especialidad Dirección Tabla cursa: Control Clave Calificación Tabla materia: Clave NombreM Créditos