3 a5 avendaño gary - tarea 1

Click here to load reader

Upload: gary-richard-avendano-rosado

Post on 26-May-2015

124 views

Category:

Documents


2 download

DESCRIPTION

3 a5 avendaño gary - tarea 1

TRANSCRIPT

  • 1. Modelo entidad-relacinUn diagrama o modelo entidad-relacin (a veces denominado por sus siglas eningls, E-R "Entity relationship", o del espaol DER "Diagrama de Entidad Relacin")es una herramienta para el modelado de datos que permite representar las entidadesrelevantes de un sistema de informacin as como sus interrelaciones y propiedades.Modelado Entidad-Relacin Se elabora el diagrama (o diagramas) entidad-relacin.Se completa el modelo con listas de atributos y una descripcin de otrasrestricciones que no se pueden reflejar en el diagrama.El modelado de datos no acaba con el uso de esta tcnica. Son necesarias otrastcnicas para lograr un modelo directamente implementable en una base de datos.Brevemente:Transformacin de relaciones mltiples en binarias.Normalizacin de una base de datos de relaciones (algunas relaciones puedentransformarse en atributos y viceversa).Conversin en tablas (en caso de utilizar una base de datos relacional).

2. Base de datos relacionalUna base de datos relacional es una base de datos que cumple con el modelorelacional, el cual es el modelo ms utilizado en la actualidad para implementarbases de datos ya planificadas. Permiten establecer interconexiones (relaciones)entre los datos (que estn guardados en tablas), y a travs de dichas conexionesrelacionar los datos de ambas tablas, de ah proviene su nombre: "ModeloRelacional". Tras ser postuladas sus bases en 1970 por Edgar Frank Codd, de loslaboratorios IBM en San Jos (California), no tard en consolidarse como un nuevoparadigma en los modelos de base de datos. 3. CaractersticasUna base de datos relacional se compone de varias tablas o relaciones.No pueden existir dos tablas con el mismo nombre ni registro.Cada tabla es a su vez un conjunto de registros (filas y columnas).La relacin entre una tabla padre y un hijo se lleva a cabo por medio de las clavesprimarias y ajenas (o forneas).Las claves primarias son la clave principal de un registro dentro de una tabla y stasdeben cumplir con la integridad de datos.Las claves ajenas se colocan en la tabla hija, contienen el mismo valor que la claveprimaria del registro padre; por medio de stas se hacen las relaciones.ElementosRelaciones base y derivadasEn una base de datos relacional, todos los datos se almacenan y se accede a ellos pormedio de relaciones. Las relaciones que almacenan datos son llamadas "relacionesbase" y su implementacin es llamada "tabla". Otras relaciones no almacenan datos,pero son calculadas al aplicar operaciones relacionales. Estas relaciones son llamadas"relaciones derivadas" y su implementacin es llamada "vista" o "consulta". Lasrelaciones derivadas son convenientes ya que expresan informacin de variasrelaciones actuando como si fuera una sola. 4. RestriccionesUna restriccin es una limitacin que obliga el cumplimiento de ciertas condiciones en labase de datos. Algunas no son determinadas por los usuarios, sino que soninherentemente definidas por el simple hecho de que la base de datos sea relacional.Algunas otras restricciones las puede definir el usuario, por ejemplo, usar un campo convalores enteros entre 1 y 10.Las restricciones proveen un mtodo de implementar reglas en la base de datos. Lasrestricciones limitan los datos que pueden ser almacenados en las tablas. Usualmente sedefinen usando expresiones que dan como resultado un valor booleano, indicando si losdatos satisfacen la restriccin o no.Las restricciones no son parte formal del modelo relacional, pero son incluidas porquejuegan el rol de organizar mejor los datos. Las restricciones son muy discutidas junto conlos conceptos relacionales.DominiosUn dominio describe un conjunto de posibles valores para cierto atributo. Como undominio restringe los valores del atributo, puede ser considerado como una restriccin.Matemticamente, atribuir un dominio a un atributo significa "todos los valores de esteatributo deben de ser elementos del conjunto especificado".Distintos tipos de dominios son: enteros, cadenas de texto, fecha,no procedurales etc. 5. Clave nicaCada tabla puede tener uno o ms campos cuyos valores identifican de forma nicacada registro de dicha tabla, es decir, no pueden existir dos o ms registros diferentescuyos valores en dichos campos sean idnticos. Este conjunto de campos se llamaclave nica.Pueden existir varias claves nicas en una determinada tabla, y a cada una de stassuele llamrsele candidata a clave primaria.Clave primariaUna clave primaria es una clave nica elegida entre todas las candidatas que defineunvocamente a todos los dems atributos de la tabla, para especificar los datos quesern relacionados con las dems tablas. La forma de hacer esto es por medio declaves forneas.Slo puede existir una clave primaria por tabla y ningn campo de dicha clave puedecontener valores NULL. 6. Clave forneaUna clave fornea es una referencia a una clave en otra tabla, determina la relacinexistente en dos tablas. Las claves forneas no necesitan ser claves nicas en la tabladonde estn y s a donde estn referenciadas.Por ejemplo, el cdigo de departamento puede ser una clave fornea en la tabla deempleados. Se permite que haya varios empleados en un mismo departamento, perohabr uno y slo un departamento por cada clave distinta de departamento en la tablade empleados.Clave ndiceLas claves ndice surgen con la necesidad de tener un acceso ms rpido a los datos. Losndices pueden ser creados con cualquier combinacin de campos de una tabla. Lasconsultas que filtran registros por medio de estos campos, pueden encontrar losregistros de forma no secuencial usando la clave ndice.Las bases de datos relacionales incluyen mltiples tcnicas de ordenamiento, cada unade ellas es ptima para cierta distribucin de datos y tamao de la relacin.Los ndices generalmente no se consideran parte de la base de datos, pues son undetalle agregado. Sin embargo, las claves ndices son desarrolladas por el mismo grupode programadores que las otras partes de la base de datos. 7. Procedimientos almacenadosUn procedimiento almacenado es cdigo ejecutable que se asocia y se almacena conla base de datos. Los procedimientos almacenados usualmente recogen ypersonalizan operaciones comunes, como insertar un registro dentro de una tabla,recopilar informacin estadstica, o encapsular clculos complejos. Sonfrecuentemente usados por un API por seguridad o simplicidad.Los procedimientos almacenados no son parte del modelo relacional, pero todas lasimplementaciones comerciales los incluyen.EstructuraLa base de datos se organiza en dos marcadas secciones; el esquema y los datos (oinstancia).El esquema es la definicin de la estructura de la base de datos y principalmentealmacena los siguientes datos: 8. El nombre de cada tablaEl nombre de cada columnaEl tipo de dato de cada columnaLa tabla a la que pertenece cada columnaLas bases de datos relacionales pasan por un proceso al que se le conoce comonormalizacin, el resultado de dicho proceso es un esquema que permite que labase de datos sea usada de manera ptima.Los datos o instancia es el contenido de la base de datos en un momento dado. Esen s, el contenido de todos los registros.Manipulacin de la informacinPara manipular la informacin utilizamos un lenguaje relacional, actualmente secuenta con dos lenguajes formales el lgebra relacional y el clculo relacional. Ellgebra relacional permite describir la forma de realizar una consulta, en cambio, elclculo relacional slo indica lo que se desea devolver. 9. El lenguaje ms comn para construir las consultas a bases de datos relacionales esSQL (Structured Query Language), un estndar implementado por los principalesmotores o sistemas de gestin de bases de datos relacionales.En el modelo relacional los atributos deben estar explcitamente relacionados a unnombre en todas las operaciones, en cambio, el estndar SQL permite usar columnassin nombre en conjuntos de resultados, como el asterisco taquigrfico (*) comonotacin de consultas.Al contrario del modelo relacional, el estndar SQL requiere que las columnas tenganun orden definido, lo cual es fcil de implementar en una computadora, ya que lamemoria es lineal.Es de notar, sin embargo, que en SQL el orden de las columnas y los registrosdevueltos en cierto conjunto de resultado nunca est garantizado, a no ser queexplcitamente sea especificado por el usuario. 10. Normalizacin de bases de datosEl proceso de normalizacin de bases de datos consiste en aplicar una serie dereglas a las relaciones obtenidas tras el paso del modelo entidad-relacin al modelorelacional.Las bases de datos relacionales se normalizan para:Evitar la redundancia de los datos.Evitar problemas de actualizacin de los datos en las tablas.Proteger la integridad de los datos.En el modelo relacional es frecuente llamar tabla a una relacin, aunque para queuna tabla sea considerada como una relacin tiene que cumplir con algunasrestricciones:Cada tabla debe tener su nombre nico.No puede haber dos filas iguales. No se permiten los duplicados.Todos los datos en una columna deben ser del mismo tipo. 11. Terminologa relacional equivalenteRelacin = tabla o archivoRegistro = registro, fila , rengln o tuplaAtributo = columna o campoClave = llave o cdigo de identificacinClave Candidata = superclave mnimaClave Primaria = clave candidata elegidaClave Ajena (o fornea) = clave externa o clave forneaClave Alternativa = clave secundariaDependencia Multivaluada = dependencia multivalorRDBMS = Del ingls Relational Data Base Manager System que significa, Sistema Gestorde Bases de Datos Relacionales. 12. 1FN = Significa, Primera Forma Normal o 1NF del ingls First Normal Form.Los trminos Relacin, Tupla y Atributo derivan del lgebra y clculo relacional, queconstituyen la fuente terica del modelo de base de datos relacional.Todo atributo en una tabla tiene un dominio, el cual representa el conjunto de valoresque el mismo puede tomar. Una instancia de una tabla puede verse entonces como unsubconjunto del producto cartesiano entre los dominios de los atributos. Sin embargo,suele haber algunas diferencias con la analoga matemtica, ya que algunos RDBMSpermiten filas duplicadas, entre otras cosas. Finalmente, una tupla puede razonarsematemticamente como un elemento del producto cartesiano entre los dominios.Dependencia 13. Dependencia funcionalUna dependencia funcional es una conexin entre uno o ms atributos. Porejemplo si se conoce el valor de DNI tiene una conexin con Apellido o Nombre.Las dependencias funcionales del sistema se escriben utilizando una flecha, dela siguiente manera:FechaDeNacimiento EdadDe la normalizacin (lgica) a la implementacin (fsica o real) puede sersugerible tener stas dependencias funcionales para lograr la eficiencia en lastablas.Propiedades de la Dependencia funcionalExisten 3 axiomas de Armstrong:Dependencia funcional ReflexivaSi "y" est incluido en "x" entonces x yA partir de cualquier atributo o conjunto de atributos siempre puede deducirse lmismo. Si la direccin o el nombre de una persona estn incluidos en el DNI, entoncescon el DNI podemos determinar la direccin o su nombre. 14. Base terica y conceptualEl modelo de datos entidad-relacin est basado en una percepcin del mundo real queconsta de una coleccin de objetos bsicos, llamados entidades, y de relaciones entreesos objetos.EntidadRepresenta una cosa u "objeto" del mundo real con existencia independiente, es decir,se diferencia unvocamente de otro objeto o cosa, incluso siendo del mismo tipo, o unamisma entidad.Algunos Ejemplos:Una persona. (Se diferencia de cualquier otra persona, incluso siendo gemelos).Un automvil. (Aunque sean de la misma marca, el mismo modelo,..., tendrn atributosdiferentes, por ejemplo, el nmero de chasis).Una casa (Aunque sea exactamente igual a otra, an se diferenciar en su direccin).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: unpuesto de trabajo, una asignatura de clases, un nombre,etc. (entidad abstracta).Una entidad est descrita y se representa por sus caractersticas o atributos. Porejemplo, la entidad Persona las caractersticas: Nombre, Apellido, Gnero, Estatura,Peso, Fecha de nacimiento, etc... 15. AtributosLos atributos son las caractersticas que definen o identifican a una entidad. Estaspueden ser muchas, y el diseador solo utiliza o implementa las que considere msrelevantes. Los atributos son las propiedades que describen a cada entidad en unconjunto de entidades.En un conjunto de entidades, cada entidad tiene valores especficos asignados para cadauno de sus atributos, de esta forma, es posible su identificacin unvoca.Ejemplos:A la coleccin de entidades alumnos, con el siguiente conjunto de atributos en comn,(id, nombre, edad, semestre), pertenecen las entidades:(1, Sofa, 38 aos, 2)(2, Josefa, 19 aos, 5)(3, Carlos, 20 aos, 2)... 16. RelacinDescribe cierta dependencia entre entidades o permite la asociacin de lasmismas.Ejemplo: Si tenemos dos entidades, "CLIENTE" y "HABITACION", podemosentender la relacin entre ambas al tomar un caso concreto (ocurrencia) decada una de ellas. Entonces, podriamos tener la ocurrencia "Habitacin 502",de la entidad "HABITACION" y la ocurrencia "Henry Jonshon Mcfly Bogard", dela entidad "CLIENTE", entre las que es posible relacionar que la habitacin 502se encuentra ocupada por el husped de nombre Henry.Una relacin tiene sentido al expresar las entidades que relaciona. En elejemplo anterior, podemos decir que un husped (entidad), se aloja (relacin)en una habitacin (entidad). 17. Conjunto de relacionesConsiste en una coleccin, o conjunto, de relaciones de la misma naturaleza.Ejemplo:Dados los conjuntos de entidades "Habitacin" y "Husped", todas las relacionesde la forma habitacin-husped, permiten obtener la informacin de los huspedesy sus respectivas habitaciones.La dependencia o asociacin entre los conjuntos de entidades es llamadaparticipacin. En el ejemplo anterior los conjuntos de entidades "Habitacin" y"Husped" participan en el conjunto de relaciones habitacin-husped.Se llama grado del conjunto de relaciones a la cantidad de conjuntos de entidadesparticipantes en la relacin. 18. Cada una de las entidades pertenecientes a este conjunto se diferencia de las demspor el valor de sus atributos. Ntese que dos o ms entidades diferentes puedentener los mismos valores para algunos de sus atributos, pero nunca para todos.En particular, los atributos identificativos son aquellos que permiten diferenciar auna instancia de la entidad de otra distinta. Por ejemplo, el atributo identificativo quedistingue a un alumno de otro es su nmero de id.Para cada atributo, existe un dominio del mismo, este hace referencia al tipo dedatos que ser almacenado o a restricciones en los valores que el atributo puedetomar (cadenas de caracteres, nmeros, solo dos letras, solo nmeros mayores quecero, solo nmeros enteros...).Cuando algn atributo correspondiente a una entidad no tiene un valor determinado,recibe el valor nulo, bien sea porque no se conoce, porque no existe o porque no sesabe nada al respecto del mismo.