1_BaseDat2

Embed Size (px)

DESCRIPTION

Conceptos básicos de Base de Datos

Citation preview

El modelo de datosEn el diseo de la base de datos, el modelo de datos es la herramienta principal.Un modelo de datos es un conjunto de conceptos que pueden emplearse para describir la estructura de una base de datos, es decir, los tipos de datos, sus relaciones y sus restricciones.Uno de los modelos de datos que ms se ha utilizado en la etapa de diseo de una base de datos, es el Modelo entidad-relacin.

Modelado de datos con el Modelo de 3 Niveles de la ANSI/SPARC Externo (requerimientos y necesidades del usuario) Conceptual (qu tablas necesito, y con qu campos) Interno (en qu disco grabo las tablas e ndices)El DBA debe convertir los requerimientos del usuario en un esquema conceptual, para posteriormente, dependiendo del producto a utilizar, implementar el esquema interno.

Esquema ConceptualConjunto de conceptos y smbolos grficos que se usan para crear el esquema conceptualVariantes E-R original E-R extendido (es el ms usado) IE (Information Engineering) Estndar IDEF1X (Instituto Nacional de Estndares y Tecnologa de Estados Unidos, NIST por sus siglas en ingls. Requisito para proyectos de gobierno) UML (Unified Modeling Language)Programas para modelacin de datos: ERWIN, Visio, Designer/2000, Rational Rose

Modelo lgico vs. Modelo fsicoModelo lgico (Conjuntos de entidades

Atributos de las entidades

Relaciones o asociaciones entre entidades

Modelo fsico (Elaborado con el SGBD o SMBD)Tablas

Columnas

Constraints (restricciones)

ndices

Vistas

Modelo entidad-relacin extendidoElementos Entidad: objeto lgico que representa una persona, lugar o cosa de la cual la organizacin mantiene informacin (clase e instancia)Entidades dbiles, son lgicamente dependientes de otra entidad (llamada entidad fuerte)

Supertipo

Subtipo, caso especial de la anterior

Atributo (Simple, Compuesto, Multivalores) revisar: http://www.victorgarcia.org/pfc/modeloER/entidades.php Identificadores, son atributos que identifican a las instanciasPueden ser nicos o no (el nico identifica a una y solo una instancia)

Pueden ser compuestos (constan de ms de un atributo)

Relaciones o asociaciones, pueden tener atributosGrado de la relacin = nmero de tablas relacionadas

Correspondencia de cardinalidades en una asociacin binaria de entidades 1 a 1 (1:1); 1 a muchos (1:N); muchos a muchos (M:N)

Recursividad

Erwin

DominiosPermiten identificar una lista de valores y/o tipo de dato, que puede tomar un atributo Un dominio se puede asignar a varias entidades Si se cambia la caracterstica del dominio, automticamente todas las entidades que lo usan reconocen el cambio Existen subtipos de dominios, para crear subconjuntos

Diseo de una base de datos Un buen diseo es fundamental para obtener una base de datos: Consistente.

Sin redundancia de datos.

Sin anomalas.

En el diseo de la base de datos, el modelo de datos es la herramienta principal. Uno de los modelos de datos que ms se ha utilizado en la etapa de diseo, es el Modelo Entidad-Relacin.

Modelo entidad-relacin Entidad: Un objeto, ya sea abstracto o concreto, que existe y es distinguible de los dems. Por ejemplo:El libro Don Quijote.

La persona Lzaro Crdenas.

La calle Eugenio Garza Sada.

El vuelo 371.

Conjunto de entidades: Grupo de entidades del mismo tipo (forman una tabla). Por ejemplo:Libros.

Presidentes de Mxico.

Calles de Monterrey.

Vuelos de una lnea area.

Atributos:Describen propiedades o caractersticas de una entidad. Por ejemplo:Atributos del conjunto de entidades ALUMNOS: matrcula

nombre

direccin

ciudad

telfono

gnero

Dominio de un atributo: Conjunto de todos los valores permitidos para el atributo. Por ejemplo:Para el atributo matrcula: de 010 001 a 999 999.

Para el atributo gnero: F o M.

Relacin: Una asociacin entre varias entidades. Por ejemplo:Libro Don Quijote prestado a Juan Lara

Lidia Estrada casada con Jos Soto

Llanta parte de un Avin

Conjunto de relaciones: Relaciones del mismo tipo. Por ejemplo:Libros prestados a Profesores

Personas casadas con Personas

Componentes partes de Vehculos

Diagrama Entidad RelacinEst formado por figuras que representan a las entidades, atributos y relaciones.Un conjunto de entidades se representa con un rectngulo, un atributo se representa con un valo, y una relacin entre conjuntos de entidades se representa con un rombo.

Conjunto de Entidades fuertes: Es aquel que tiene uno o varios atributos primarios, es decir, atributos que la identifican en forma nica.Por ejemplo:

Conjunto de Entidades dbiles: Es aquel que no tiene un atributo o un conjunto de atributos que la identifique en forma nica, pero que s se distingue en forma nica por su relacin con otra entidad. Se representa con un doble rectngulo.Por ejemplo:

Relacin 1:1

Cada GERENTE administra una y slo una DIVISIN.Cada DIVISIN es administrada por uno y slo un GERENTE.

Relacin 1:N

Cada CLIENTE tiene una o ms FACTURAS.Cada FACTURA est a nombre de un slo CLIENTE.

Relacin M:N

Cada PROVEEDOR vende uno o ms PRODUCTOS.Cada PRODUCTO es vendido por uno o ms PROVEEDORES.

Relaciones opcionales

Cada proyecto es administrado por un empleado.Algunos empleados administran 1 o ms proyectos.

Todas las editoriales publican libros, y algunas de ellas tambin publican revistas.

Ms de una relacin entre entidades

En este diagrama se representa en qu proyectos trabaja cada empleado y cules administra.

Relacin unitaria

"Un EMPLEADO puede ser jefe de uno o ms EMPLEADOS"."Un EMPLEADO siempre reporta a otro EMPLEADO"

"Un EMPLEADO puede ser esposo(a) de otro EMPLEADO". "Pero si un EMPLEADO est casado, no necesariamente es con otro EMPLEADO".

Atributos de una relacin

"En el DETALLE de una FACTURA se indica la cantidad que se compr de cada ARTCULO".

Para cada EMPLEADO se registra en cada PROYECTO que trabaja, la fecha en que inici y la cantidad de horas que le dedica a la semana.

Relacin ternaria

En los BASUREROS nos interesa conocer la fecha y cantidad de DESECHOS SLIDOS que cierta EMPRESA tir.

Del Modelo E-R al modelo RelacionalTrminos usados frecuentementeTabla: Es un conjunto de datos organizados en filas y columnas.A la tabla tambin se le llama relacin, o archivo de datos (datafile).

Fila: Almacena toda la informacin relativa a una entidad (los datos de un empleado, los datos de un vehculo, etc.)Fila = registro, rengln o tupla, y veces tambin entidad o instancia.

Columna: Almacena un solo tipo de informacin (nmero de nmina de un empleado, nmero de placas de un vehculo, etc.)A las columnas tambin se les llama campos o atributos.

Llave o clave: Cdigo de identificacin. Una o ms columnas de la relacin que identifican una fila. Puede ser nica o no.

Clave Candidata = superclave mnima

Clave Primaria = clave candidata elegida

Clave Ajena = clave externa o clave fornea

Clave Alternativa = clave secundaria

De entre las llaves nicas, se puede seleccionar una llave primaria y llaves candidatas

Llave compuesta: Dos o ms atributos que identifican una fila o registro

Los sistemas DBMS graban la informacin en forma de relaciones, las cuales son un tipo especial de tabla, aunque para que una tabla sea considerada como una relacin tiene que cumplir con algunas restriccionesCada fila (registro) contiene informacin acerca de una entidad

Las columnas (campos) contienen datos acerca de los atributos de la entidad

Las celdas de la tabla (relacin) tienen solo un valor

Todas las entradas (valores) de una columna son del mismo tipo

Cada columna tiene un nombre nico

El orden de las columnas es irrelevante

El orden de las filas es irrelevante

No puede haber dos filas (registros) idnticas

Dentro de una tabla, cada registro debe distinguirse en forma nica de los dems por medio de uno o varios campos a los que se conoce como llave primaria. Para relacionar una tabla con otra, se agrega a una de las tablas la llave primaria de la otra.

Relaciones binarias de 1:1Atributos A y B de una relacin R tienen una relacin uno a uno si:Ya sea A B deben ser llave de RUn atributo puede aadirse a la relacin R slo si es determinado funcionalmente por A BA y B deben ocurrir juntas en R, pero no deben ocurrir juntas en otras relacionesSe genera una tabla para cada conjunto de entidades y se copia en una de las tablas la llave primaria de la otra. Si la relacin tiene atributos, tambin se pasan a la tabla que contiene la llave fornea.

GERENTES (nomina, nombre, sexo, fecha_nac, sueldo )DIVISIONES (claveDivision, nombre, ubicacion, nomina )Nota: se recomienda escribir los nombres de tablas y de campos sin acentos.

Relaciones Binarias de 1:NAtributos C D de una relacin S tienen una relacin muchos a uno si:C determina a DC debe ser la llave de la relacin SUn atributo puede aadirse a la relacin S slo si es determinado funcionalmente por CSe genera una tabla para cada conjunto de entidades y se copia en la tabla del lado N la llave primaria de la otra. Si la relacin tiene atributos, stos se colocan en la tabla del lado N.

CLIENTES (numCliente, nombre, rfc, direccion, telefono )FACTURAS (numFactura, fecha, numCliente )

Relaciones Binarias de N:MAtributos E F de una relacin T tienen una relacin muchos a muchos si:(E, F) debe ser la llave de la relacin TUn atributo puede aadirse a la relacin T slo si es determinado funcionalmente por (E, F)Si al aadir un nuevo atributo G, expande la llave a tres (E, F, G), entonces el tema de la relacin habr cambiado por que el nombre de la relacin T deber ser actualizado para reflejar correctamente la nueva relacinSe genera una tabla para cada conjunto de entidades. Adicionalmente se genera una tercera tabla con las llaves primarias de las otras dos y los atributos de la relacin (si existen).

PROVEEDORES (id_proveedor, nombre, direccion, telefono )PRODUCTOS (id_producto, nombre, descripcion, precio )PROV-PROD (id_proveedor, id_producto )

AUTOR ( #autor, nombre_autor, direccion, telefono )COCHE ( #placas, nombre_coche, marca, modelo, color, #autor )LIBRO ( #libro, nombre, paginas, #autor, )TEMA ( codigo, nombre_tema, area_conocimiento )INCLUYE ( #libro, codigo )

EMPLEADO ( nmina, nombre, sueldo, casado_con )

EMPLEADO ( nomina, nombre, sueldo, nomina_jefe )

EQUIPO ( #equipo, nombre, direccion, telefono )JUGO_CON ( #equipo1, #equipo2, fecha, lugar, resultado)

ASESOR ( nomina, nombre_asesor, sueldo )MATERIA ( #materia, nombre_materia )ALUMNO ( matricula, nombre, direccion, telefono )ASESORA ( nomina, #materia, matricula, fecha, duracion )

Fuentes:http://www3.uji.es/~mmarques/f47/apun/node33.htmlwww.slideboom.com/presentations/download/328479/tema2http://www.interface.ru/home.asp?artId=1707http://www.victorgarcia.org/pfc/modeloER/entidades.php

Apuntes de Base de datos II11/05/12Valentn Belisario Domnguez Vera Tabla: DepartamentoTabla: Empleado#deptoNombreUbicacinextensin#nminaNombre#deptosueldo

100VentasEdif. 3 piso 423101234Gabriel Quadri10213,800

101ComprasEdif. 3 piso 323001355Enrique Pea1019,500

102InformticaEdif. 2 piso 134501976Josefina Vzquez10012,300

Llave primariaLlave fornea

???Pgina ??? (???)07/05/2012, 16:44:35Pgina /