DIPLOMADO EN DESARROLLO DE
APLICACIONES PARA INTERNET
Diseño de Datos
Modelos de datos
Ing. Julio Ernesto Carreño Vargas MsC.
Diplomado en Desarrollo de Aplicaciones para Internet 2009
Agenda
Introducción
Niveles de Abstracción
Instancias y Esquemas
Lenguajes de Bases de Datos
Modelos de Bases de Datos
SQL
Módulo: BD Autor: JECV . No.2
Bases de Datos
Colección compartida de datos relacionados
lógicamente (y una descripción de estos datos ),
diseñados para satisfacer las necesidades de
información de una organización.
Módulo: BD Autor: JECV . No.3
Niveles de Abstracción
Una Arquitectura de un Sistema de Bases de Datos
Ocultar detalles
de tipos de datos
e información
sensible
Describir datos y
relaciones entre
ellos
Como guardar el
registro
Módulo: BD Autor: JECV . No.4
Modelos de Datos (I)
Modelo es una colección de conceptos y/o
herramientas para describir:
Datos
Relaciones entre datos (relationships)
Semántica de datos
Restricciones de datos (constraints)
Módulo: BD Autor: JECV . No.5
Modelos de Datos (II)
MER Entity-Relationship Model
Modelo Relacional
Modelos datos basados en Objetos
Object-oriented
Object-relational
Modelos de datos Semiestructurados (XML)
Otros modelos:
Network model
Hierarchical model
Módulo: BD Autor: JECV . No.6
Diseño de Bases de Datos
Diseño Conceptual
MER
Diseño Lógico
Modelo Relacional
Modelo Objetos
Diseño Físico
Oracle
SQL Server
MySQL
Módulo: BD Autor: JECV . No.7
El Modelo Entidad Relación Entity-
Relationship Model(I)
Modela una empresa como una collección de
entities y relationships
Entity: una “cosa” u “objeto” que es distinguible de
otros objetos
Descrita por un conjunto de atributos
Relationship: una asociación entre varias entities
Módulo: BD Autor: JECV . No.8
El Modelo Entidad Relación Entity-
Relationship Model(II)
El modelo se representa por un diagrama entity-
relationship :
Relación Entidad
Atributos
Deposito Cuenta
Módulo: BD Autor: JECV . No.9
Diseño de Bases de Datos y UML(I)
Módulo: BD Autor: JECV . No.10
Diseño de Bases de Datos y UML(II)
Módulo: BD Autor: JECV . No.11
Notaciones Alternativas de E-R
Módulo: BD Autor: JECV . No.12
Modelo Relacional Atributos
Tabla
Cliente
Tuplas ó
Registros
Módulo: BD Autor: JECV . No.13
Una Base de Datos Relacional
Tabla
Cliente
Tabla
Cuenta
Tabla
Deposito
Módulo: BD Autor: JECV . No.14
Lenguajes de Bases de Datos
DML: Data Manipulation Language
DDL: Data Definition Language
Lenguajes 4GL
Módulo: BD Autor: JECV . No.15
DML
Lenguaje para acceder y manipular los datos
organizados por el modelo usado
DML ó lenguaje de consultas
SQL es el lenguaje de consultas más usado
Módulo: BD Autor: JECV . No.16
DDL
Especifica la notación para definir el esquema de
la base de datos:
create table account ( account-number char(10),
balance integer,
primary key account-number)
DDL guarda los elementos en un data dictionary
Data dictionary contiene metadata (datos sobre
los datos)
Tablas, Restricciones , Indices, Autorizacion
Módulo: BD Autor: JECV . No.17
SQL(I)
“Encuentre el nombre del cliente con id 192-83-7465”
select
customer_name
from
customer
where
customer_id = „019-28-3746‟
Módulo: BD Autor: JECV . No.18
SQL(II)
“Encuentre el nombre del cliente con id 192-83-7465”
select
El resultado es una
customer_name tabla con un atributo y
from una tupla
customer
where
customer_id = „019-28-3746‟
Customer_name
Smith
Módulo: BD Autor: JECV . No.19
SQL(III)
“Encuentre el saldo de todas las cuentas cuyo propietario tiene el customer-id
192-83-7465”
select
[Link]
from depositor, Resultado
account
where
depositor.customer_id =
„192-83-7465‟
and
depositor.account_number =
account.account_number
Join
Módulo: BD Autor: JECV . No.20
SQL(IV)
“Encuentre el saldo de todas las cuentas cuyo propietario tiene el customer-id
192-83-7465”
3
Resultado
balance
1 2 500
900
Módulo: BD Autor: JECV . No.21
SQL(V)
Los programas de aplicación acceden generalmente
las bases de datos a través de uno de los siguientes
mecanismos:
SQL embebido en un lenguaje
C, C++, SQLJ
A través de APIs (Application program interface) por
medio de las cuales se envían consultas SQL a la base de
datos. Algunas API:
ODBC: Open DataBase Connectivity
JDBC: Java DataBase Connectivity
Módulo: BD Autor: JECV . No.22
Modelo Objeto-Relacional(I)
Extiende el modelo relacional incluyendo tipos
de datos nuevos :
Clases: create data type …
Permite a los atributos de tuplas tener tipos
complejos:
Valores no atómicos
Relaciones anidadas
Módulo: BD Autor: JECV . No.23
Modelo Objeto-Relacional(II)
create type Person
(name varchar(20),
address varchar(20))
create type Student
under Person
(degree varchar(20)
)
create type Teacher
under Person
(salary integer,
)
Módulo: BD Autor: JECV . No.24
XML: Extensible Markup
Language(I)
Lenguaje de marcado de documentos
La habilidad de especificar nuevos tags y
estructuras anidadas hacen del XML la forma
estándar de intercambiar datos.
XML ha llegado a ser la base de toda la nueva
generación de formatos de intercambio de datos.
ebXML, XBRL, BPEL,..
Existen muchas herramientas disponibles para
realizar tareas de parsing, browsing y querying
Módulo: BD Autor: JECV . No.25
XML(II)
Módulo: BD Autor: JECV . No.26
CASE
Computer-Aided Software Engineering (CASE)
Herramientas de software que proveen soporte
automatizado para el desarrollo de sistemas.
Características CASE para bases de datos:
Modelamiento de datos mediante diagramas
entidad-relación.
Generación de código
Repositorios de conocimiento
Módulo: BD Autor: JECV . No.27
Bibliografía
Database System [Link] Silberschatz ,
Henry F. Korth , S. [Link]-Hill.
Fifth Edition. 2007.
Sistemas de Bases de Datos. Thomas M.
Conolly, Carolyn E. Begg. Addison Wesley. 4
edición. 2007
Módulo: BD Autor: JECV . No.28