tutoria 2do bim-v1

Post on 03-Jul-2015

804 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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 1500jg@gmail.com

222Jesús González Líder de área 1500lider1@gmail.com

232Paúl Heredia Técnico 1200ph@gmail.com

242Clarita Vásquez Administrativo 1200cv@gmail.com

242Clarita Vásquez Administrativo 1200cv1@gmail.com

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

top related