Upload
videoconferencias-utpl
View
792
Download
0
Embed Size (px)
Citation preview
ESCUELA:
NOMBRES:
FUNDAMENTOS DE BASE DE DATOS
Ciencias de la Computación
Octubre 2011 – Febrero 2012
Ing. Juan Carlos Morocho
Definición de datos
Utilizamos sentencias DDL de SQL, para la creación de objetos de base de datos
Podemos utilizar cualquier consola SQL para la ejecución del código DDL.
CREATE TABLE personas(DNI varchar2(15) primary key,NOMBRE varchar2(50) not null);
CREATE TABLE multas(REF number(10) primary key,MATRICULA varchar2(15) not null,IMPORTE number(8,2) default 0,LUGAR varchar2(30),constraint MATRICULA_FK (MATRICULA) references MATRICULAS
(MATRICULA) ); 3
Ejemplo: Creación de tablas
CREATE TABLE matriculas(MATRICULA varchar2(15) primary key,DNI varchar2(15) not null,constraint DNI_FK (DNI) references
PERSONAS (DNI));
CREATE OR REPLACE VIEW VIEW_TOTAL_MULTASAS SELECT matricula, SUM(importe) TOTAL FROM multas GROUP BY matricula;
CREATE UNIQUE INDEX personas_nombre_idx ON personas (nombre);
CREATE UNIQUE INDEX emp_nombres_idx ON personas (apellido, nombre);
ALTER TABLE personas MODIFY (apellido varchar2(30));
4
Ejemplo: Creación de vista e índices
Modelo E-R
Es una herramienta para el diseño conceptual de base de datos.
Se orienta a hacer más comprensible el problema a modelar.
Elementos del modelo E-R• Tipos de entidades• Tipos de relaciones• Atributos
Grado de un tipo de relación
Conceptos clave Modelo E-R
Atributo simple: salario Atributo compuesto:
o Dirección• Calle• Ciudad• Código postal
Atributo univaluado: dni Atributo multivaluado: teléfono (1..3) Atributo derivado: edad
7
Modelo E-R
Claves: Candidata Principal Compuesta
Tipos de entidades fuertes: Libro Tipos de entidades débiles: Ejemplar
8
Modelo E-R
9
Su propósito es representar los elementos de datos, necesarios para satisfacer los requerimientos de la organización.
Diseño conceptual
Diseño conceptual (ejercicio)Crear un modelo entidad/relación que resuelva el siguiente problema de datos. Se trata de gestionar los datos de un banco que maneja estos datos: •Posee clientes que contratan cuentas en el banco. De los clientes tenemos su DNI, Nombre, Apellidos, Localidad, Dirección y Teléfono. •Todas las cuentas tienen un número de 20 dígitos de los cuatro primeros se refieren al banco, los cuatro siguientes a la entidad, los dos siguientes son de control y los 10 siguientes el número en sí de la cuenta. Toda cuenta tiene un saldo actual y se anota la fecha de contratación •Las cuentas pueden ser de ahorro, de plazo fijo (indicando el tiempo mínimo de supervivencia en años (1,2,3,..), cuentas vivienda y cuentas de pensiones (jubilación).•Del personal se anotan los siguientes datos, DNI, Nº personal, Nombre, Apellidos, Dirección, Teléfono y una Cuenta bancaria (que tiene que estar en el banco)•El personal puede tener o ser jefe. Un jefe puede tener un jefe superior.
11
Identificar las entidadesIdentificar las relaciones Identificar y asociar los atributos con las entidades y relacionesDeterminar los dominios de los atributosDeterminar los atributos de clave candidata, principal y alternativaConsiderar el uso de conceptos de modelado avanzadosComprobar si el modelo tiene redundanciaValidar el modelo conceptual comprobando las transacciones de los usuariosRepasar el modelo de datos conceptual con los usuarios
Diseño conceptual
Entidades identificadas
CLIENTES CUENTAS
SUCURSALES
BANCOS
PERSONAL
Entidades con sus relacionesCLIENTES CUENTAS
PERSONAL
SUCURSALES
BANCOS
contratan
tiene
PLAZO_FIJO AHORRO VIVIENDA JUBILACION
Tipo_cta
tienen
poseees_jefe
Entidades y sus atributosCLIENTES1
DNINOMBREAPELLIDOLOCALIDADDIRECCIONTELEFONO
CUENTAS1
N_SUCURSALCONTROLN_CUENTASALDOFECHA_CONTRATO
PERSONAL1
DNIN_PERSONALNOMBREAPELLIDODIRECCIONTELEFONO
SUCURSALES1
N_SUCURSALCIUDADDIRECCIONTELEFONO
BANCOS1
N_ENTIDADDESCRIPCION
contratan
tiene
PLAZO_FIJO1
AÑOS
AHORRO1 VIVIENDA1 JUBILACION1
Tipo_cta
tienen
posee
es_jefe
Entidades con sus atributos claves
CLIENTES
PK DNI
NOMBREAPELLIDOLOCALIDADDIRECCIONTELEFONO
CUENTAS
PK N_SUCURSALPK CONTROLPK N_CUENTA
SALDOFECHA_CONTRATO
PERSONAL
PK DNI
N_PERSONALNOMBREAPELLIDODIRECCIONTELEFONO
SUCURSALES
PK N_SUCURSAL
CIUDADDIRECCIONTELEFONO
BANCOS
PK N_ENTIDAD
DESCRIPCION
contratan
tiene
PLAZO_FIJO
AÑOS
AHORRO VIVIENDA JUBILACION
Tipo_cta
tienen
posee
es_jefe
Diseño lógico
Consiste en transformar el esquema conceptual obtenido en la etapa anterior, adaptándolo a una representación de tablas, apoyándose para ello en el modelo relacional.
Existen tres reglas básicas para convertir un modelo conceptual al modelo relacional, éstas son:
2. Todo tipo de entidad se convierte en una relación.
Diseño lógico
2. Todo tipo de interrelación n:n se transforma en una relación.
Diseño lógico
Diseño lógico
3. Para todo tipo de interrelación 1:n se realiza lo que se denomina propagación de clave (regla general), o se crea una nueva relación.
Normalización
Al normalizar se pretende evitar las anomalías de actualización asegurando la consistencia de los datos y a través de las dependencias funcionales conservar la integridad de la información.
20
Primera FN: una relación está en primera FN si y sólo si cada atributo tiene un valor único para cada tupla.
21
numss nombre puesto salario email
222Jesús González Líder de área [email protected]
222Jesús González Líder de área [email protected]
232Paúl Heredia Técnico [email protected]
242Clarita Vásquez Administrativo [email protected]
242Clarita Vásquez Administrativo [email protected]
Normalización
Segunda FN: una relación está en segunda FN si y sólo si está en primera forma normal y todos los atributos no clave son completamente dependientes funcionales de la clave principal.
22
Normalización
Tercera FN: una relación está en tercera forma normal si y sólo si está en primera y segunda formas normales y en la que ningún atributo que no sea de clave principal depende transitivamente de la clave principal.
23
Normalización
Peguntas a resolver
Los comandos CREATE TABLE y CREATE INDEX se usan para crear las tablas de datos y sus índices?
El comando ALTER TABLE permite a un usuario cambiar un nombre de tabla?
El constraint CHECK está permitido solamente en el comando ALTER TABLE mas no en el comando CREATE TABLE?
Una tabla puede tener más de una clave principal? 24
Luego de elegida la clave principal de entre las candidatas, las restantes se convierten en claves alternativas?
Atributo compuesto es sinónimo de atributo multivaluado?
Una clave compuesta está basada en un atributo compuesto?
Si una tabla tiene u o mas grupos repetitivos, se dice que está en forma no normalizada?
25
Peguntas a resolver
Una dependencia funcional se representa por A B, y se lee B depende funcionalmente de A?
Uno de los pasos del diseño lógico es el determinar los dominios de los atributos?
No es necesario el revisar el modelo de datos conceptual con los usuarios ya que ellos no entienden cuestiones técnicas?
La fase de diseño lógico es la única en la que no se genera documentación?
26
Peguntas a resolver
Referencias
Connolly, T. y Begg, C.(2005).Sistemas de bases de datos. Un enfoque práctico para diseño, implementación y gestión. Madrid: Pearson Education.
Ricardo, C. (2009), Bases de Datos. México: McGraw Hill
27