|
2013
|
|
MODELAMIENTO DE
BASE DE DATOS
|
INTEGRANTES:
MIGUEL AHUMADA
ENRIQUE OLIVARES
JAVIER VERGARA
Contenido
INTRODUCCION
La
estructura del contenido sigue un orden lógico y jerárquico de ideas, aunque
para fines didácticos se ha realizado una separación entre los elementos
físicos que componen un computador (hardware) y las colecciones de programas
(Software) básicos necesarios para el funcionamiento del mismo. Pese a esta
separación, se busca, en todo momento, que el estudiante comprenda e
identifique las relaciones que involucran ambos componentes, para que obtenga
una visión global e integradora de lo que sería un entorno de trabajo digital.
La práctica directa sobre el computador es una de las mejores alternativas para
lograr este propósito; por lo que deben ser incluidas, sobre todo, en lo
referente a software.
El objetivo es que se evalúe mediante la presentación de ideas concretas
para que el estudiante pueda identificar distintos elementos y/o conceptos
asociados a esta unidad Unidad.
Diseño base de datos
El diseño de una base de datos no es
un proceso sencillo. Habitualmente, la complejidad de la información y la
cantidad de requisitos de los sistemas de información hacen que sea complicado.
Por lo tanto, conviene descomponer el
proceso del diseño en varias etapas; en cada una se obtiene un resultado
intermedio que sirve de punto de partida de la etapa siguiente, y en la última
etapa se obtiene el resultado deseado.
De
acuerdo con el Instituto Nacional Estadounidense de Estándares (ANSI) un modelo
de datos se puede interpretar como un esquema:
·
Modelo
conceptual: que especifica las expresiones permitidas por el
modelo mismo, comunica las reglas y definiciones esenciales de los datos a los
usuarios.
·
Modulo
lógico: que describe la semántica de tablas y columnas,
clases orientadas a objetos, etcétera, representada por una tecnología de
manipulación en particular (como ser el lenguaje SQL)
·
Modelo
físico: que detalla los medios en los que se almacena la
información, como ser particiones de disco
![]() |
Como realizar
un modelo de datos
Para realizar un modelo de datos
básico a partir de los requerimientos del usuario debemos seguir los siguientes
pasos:
1) Identificar las categorías (nombres)
2) Identificar los componentes de las categorías o atributos
(agregación)
3) Identificar las claves
4) Verificar generalización entre categorías.
5) Identificar asociaciones entre
categorías
6) Identificas las restricciones:
a. Dominio
b. Cardinalidad
c. Explícito (adicional al modelo)
7) Identificar y describir las operaciones.
Las
personas socias de la biblioteca disponen de un código de socio y además
necesitar almacenar su rut, dirección, teléfono, nombre y apellidos.
La
biblioteca almacena libros que presta a los socios y socias, de ellos se
almacena su título, editorial, el año en el que se escribió el libro, el nombre
completo del autor( o autores), el año en que se editó y en que editorial fue,
cada libro es único( no ahí mas de un ejemplar disponible).
Necesitamos
poder indicar si un volumen en la biblioteca esta deteriorado o no
Queremos
controlar cada préstamo que se realiza
almacenando la fecha en la que se realiza, la fecha tope para devolver ( que
son 15 días más que la fecha en la que
se realiza el préstamo) y la fecha real en la que se devuelve el libro
Modelo entidad/relación
Para este problema creamos el
siguiente modelo entidad relación, identificando cada uno de las entidades y
sus respectivos atributos, además de las llaves primarias y las respectivas
cardinalidades.
![](file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg)
Modelo
entidad/relación
Para este problema creamos el
siguiente modelo entidad relación, identificando cada uno de las entidades y
sus respectivos atributos, además de las llaves primarias y las respectivas cardinalidades.
![](file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image006.jpg)
Modelo
entidad/relación en Data Modeler
El modelo lógico realizado en SQL Developer es el
siguiente:
![](file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image008.jpg)
Generación
del diccionario de datos
El código DLL generado por este
modelo es el siguiente:
-- Generado por Oracle SQL Developer Data Modeler 3.1.0.699
-- en: 2013-11-04 20:15:43 CLST
-- sitio: Oracle Database 10g
-- tipo: Oracle Database 10g
CREATE TABLE Libros
(
id_Codigo
INTEGER NOT NULL ,
Titulo VARCHAR2
(30) NOT NULL ,
Editorial
VARCHAR2 (25) NOT NULL ,
AñoInscripcion
DATE NOT NULL ,
NombreAutor VARCHAR2 (40) NOT NULL ,
AñoEdicion DATE ,
id_CodigoSocio INTEGER NOT NULL
)
;
ALTER TABLE
Libros
ADD CONSTRAINT "biblioteca PK"
PRIMARY KEY ( id_Codigo ) ;
CREATE
TABLE Prestamos
(
IdCodigo INTEGER NOT NULL ,
FechaInicioPrestamo DATE NOT NULL ,
FechaTope DATE NOT NULL ,
FechaDevolucion DATE ,
id_CodigoSocio INTEGER NOT NULL
)
;
ALTER TABLE
Prestamos
ADD CONSTRAINT "Prestamos PK"
PRIMARY KEY ( IdCodigo ) ;
CREATE
TABLE Socios
(
id_CodigoSocio INTEGER NOT NULL ,
Rut VARCHAR2 (10) NOT NULL ,
Nombres VARCHAR2 (30) NOT NULL ,
Apellidos VARCHAR2 (30) NOT NULL ,
Direccion
VARCHAR2 (30) NOT NULL ,
Telefono INTEGER
)
;
ALTER TABLE
Socios
ADD CONSTRAINT "Socios PK"
PRIMARY KEY ( id_CodigoSocio ) ;
ALTER TABLE
Prestamos
ADD CONSTRAINT solicita FOREIGN KEY
(
id_CodigoSocio
)
REFERENCES Socios
(
id_CodigoSocio
)
;
ALTER TABLE
Libros
ADD CONSTRAINT tiene FOREIGN KEY
(
id_CodigoSocio
)
REFERENCES Socios
(
id_CodigoSocio
)
;
-- Informe de Resumen de Oracle SQL Developer Data Modeler:
--
-- CREATE
TABLE 3
-- CREATE
INDEX 0
-- ALTER
TABLE 5
-- CREATE
VIEW 0
-- CREATE
PACKAGE 0
-- CREATE
PACKAGE BODY 0
-- CREATE
PROCEDURE 0
-- CREATE
FUNCTION 0
-- CREATE
TRIGGER 0
-- ALTER
TRIGGER 0
-- CREATE
STRUCTURED TYPE 0
-- CREATE
COLLECTION TYPE 0
-- CREATE
CLUSTER 0
-- CREATE
CONTEXT 0
-- CREATE
DATABASE 0
-- CREATE
DIMENSION 0
-- CREATE
DIRECTORY 0
-- CREATE
DISK GROUP 0
-- CREATE
ROLE 0
-- CREATE
ROLLBACK SEGMENT 0
-- CREATE
SEQUENCE 0
-- CREATE
MATERIALIZED VIEW 0
-- CREATE
SYNONYM 0
-- CREATE
TABLESPACE 0
-- CREATE
USER 0
--
-- DROP
TABLESPACE 0
-- DROP
DATABASE 0
--
--
ERRORS
0
-- WARNINGS 0
CONCLUSION
Las bases de datos nos ayudan a almacenar la
información que usará un sistema de información solicitado.
Según las necesidades y los
requisitos de los usuarios finales de este sistema de información, por lo cual
debemos tomar en cuenta adecuadamente de las decisiones anteriores.
El diseño de una base de datos consiste en
definir la estructura de los datos que debe tener la base de datos de un
sistema de información determinado. En el caso relacional, esta estructura será
un conjunto de esquemas de relación con sus atributos, dominios de atributos,
claves primarias, claves foráneas, etc.
El
programa SQL developer es una excelente herramienta para realizar y construir
una base de datos.