Publicado el 3 de Mayo del 2018
1.524 visualizaciones desde el 3 de Mayo del 2018
1,5 MB
150 paginas
Creado hace 14a (07/05/2010)
Curso de Bases de
Curso de Bases de
Curso de Bases de
Curso de Bases de
Datos
Datos
Datos
Datos
J. Antonio Camarena Ibarrola
J. Antonio Camarena Ibarrola
Historia de las Bases de
Datos
DBMS
• El software que permite usar y/o modificar
una Base de Datos es llamado “Sistema
Manejador de la Base de Datos” o
simplemente DBMS por sus siglas en inglés.
• Un DBMS permite un manejo abstracto de
los datos independiente de la manera en
como realmente se almacenan físicamente
• Un DBMS actúa como interprete de un
lenguaje de muy alto nivel (como SQL)
Funciones que un DBMS
debe implementar
• Seguridad
• Integridad
• Sincronización
• Recuperación de datos
Niveles de abstracción en
un DBMS
• La “Base de datos conceptual” es una
representación abstracta de la “Base
de datos física”
• Las “Vistas” son abstracciones de
porciones de la base de datos (puede
haber muchas vistas)
Esquemas e instancias
• El contenido de la Base de Datos en un momento
determinado se conoce como “Instancia de la Base de datos”
• Cuando se diseña una Base de Datos se hacen planes. El
término “Esquema” es utilizado para referirse a los planes
relativos a la Base de Datos
• Las instancias cambian, los esquemas permanecen
• El Esquema conceptual se refiere a los planes de la base de
datos conceptual, el esquema físico se refiere a los planes
relativos a la base de datos física
• Los Planes relativos a las Vistas se conocen como
“Subesquemas”
Los 3 grandes Modelos
de datos
• Modelo Jerárquico. Basado en árboles donde los
nodos representan entidades (Ej vuelos) y los
hijos tienen una cierta relación con el, ejemplo
(pasajeros que irán en el vuelo).
• Modelo de Red. Los nodos representan entidades
similares y las aristas son asociaciones (Ej. Naves
asignadas a vuelos)
• Modelo Relacional. Basado en la noción teórica de
relaciones como conjuntos
Lenguaje de Definición
de Datos o DDL
• Un DBMS debe proveer un “Lenguaje de
Definición de Datos” para poder
especificar el esquema conceptual en
términos de un “Modelo de Datos”
• En Oracle, el DDL es un subconjunto de
SQL (Create table, create index, create
view, create synonym, drop table, drop
index, etc..)
El lenguaje de Manipulación
de Datos (DML)
• Para realizar consultas (lenguaje de
consultas)
• Borrar, Insertar, Modificar datos
• En Oracle se utiliza un subconjunto
de SQL (update, insert, delete,
select, truncate, etc..)
Lenguaje de Control de
Datos (DCL)
• Para establecer cuales usuarios
pueden acceder a cuales tablas
• Establecer roles de usuarios
• En SQL comandos create user, drop
user, grant, revoke, etc
Independencia física de
datos
• Las modificaciones en la organización
de la base de datos física pueden
afectar su desempeño pero no
requerir cambios en los programas de
aplicación ya que el esquema
conceptual no ha cambiado solo su
implementación física
Independencia lógica de
datos
• Se pueden hacer muchas
modificaciones al esquema conceptual
sin que implique modificación de los
sub-esquemas o vistas. De nuevo, esto
permite que no sea necesario
reescribir programas de aplicación
Definiciones
• Entidad. Algo que es distinguible y del cual almacenamos
• Un grupo de entidades similares forman un “Conjunto de
información
entidades”
• Atributos. Propiedades que tienen las entidades
• Llave primaria. Atributo o conjunto de atributos que
identifican de manera única a una entidad
• Llave secundaria. Atributo o conjunto de atributos que no
identifica a una entidad de manera única sino a un conjunto
de entidades que comparten cierta propiedad
• Llave foránea. Es una llave secundaria que en otro conjunto
de entidades es llave primaria
Obligaciones de un Administrador
de Base de Datos
• Asegurar espacio físico para la base de
datos actual y planear los requerimientos
para el futuro
• Sintonizar la Base de Datos para optimizar
• Monitorear y controlar los accesos a la
• Respaldar y en su caso recuperar la Base
el desempeño
base de datos
de Datos
Relaciones
• Una relación entre 2 conjuntos A y B es un
subconjunto de AxB. Los elementos de ese
subconjunto son parejas ordenadas o duplas
• Una relación entre 3 conjuntos esta formada por
tercias ordenadas, o triadas o 3-tuples
• Una relación entre n conjuntos esta formada por
n-adas ó n-tuples
• Una relación entre un número indeterminado de
conjuntos esta formada por tuples
Las entidades se almacenan en
tablas como renglones (tuples)
Los atributos de las entidades son columnas de la tabla
Tipos de datos
¿Por qué Oracle?
Ventajas en el manejo de seguridad
(Roles)
Ventajas en la garantía de la integridad de la Base de Datos
(Triggers)
Ventajas en la garantía de la recuperación de Información
(modo archivelog)
Ventajas para Administrar el espacio
(Tablespaces)
Propiedades de las Relaciones
como Conjuntos de entidades
• Los elementos son tuples del mismo tipo
• Como en cualquier conjunto, los elementos
no están ordenados ni existe ningún tipo de
“cercanía” entre ellos
• A diferencia de las n-adas ordenadas, los
atributos tienen un nombre y no una
posición, no hay “cercanía” entre columnas
• Como en cualquier conjunto, no puede
haber 2 elementos idénticos
Las tablas son relaciones
impropias o corruptas …. E.F. Codd
• Permiten duplicados
• Existe el identificador de renglón
(rowid)
• SQL no implementa toda la
funcionalidad del álgebra relacional
Diagrama Entidad-Relación de
Aerolinea
Tipos de Relaciones
• Uno a uno (Ej. Depto. tienen Jefe de
Depto.)
• Muchos a uno (Ej. Vehículos
pertenecen a propietarios)
• Muchos a muchos (Ej. Países exportan
productos)
Nota: Tomar en cuenta la posibilidad de ninguno (cero)
Diagramas E-R de Chen
Atributos
Diagrama E-R tipo Crow’s Foot
Base de datos empleados
Atributos compuestos
• Clave electoral CMIBAN64071116H800
• Alfa_clave_electoral
• Fecha_nacimiento
• Lugar_nacimiento
• Sexo
• Digito_verificador
• Clave_homonimia
CMIBAN
640711
16
H
8
00
Atributos
• Multivaluados. Un atributo que puede
tomar varios valores. Ej un Libro
puede tener varios autores
• Monovaluados. Un atributo que puede
tomar un solo valor para una entidad.
Ej Un libro puede tener un solo título
Atributos monovaluados y
multivaluados
Atributos derivados
Son atributos que se pueden determinar de otros atributos.
El modelo Crow’s Foot no tiene una representación especial
Para atributos derivados ni para atributos multivaluados
Cardinalidad
Cero o más
Uno o más
Uno y solo uno
Cero o uno
Relaciones débiles o fuertes
• Débil cuando la existencia de una
entidad en un conjunto de entidades
no esta condicionada a la existencia
de otra entidad en el conjunto de
entidades relacionado
• Fuerte en caso contrario
Implementando relaciones M:N
BD Escuela
Problemas originados por
un mal diseño de BD
• Ej. PROVEEDORES(NomProveedor,DomProveedor,Artículo,precio)
• Redundancia
• Inconsistencia potencial
• Anomalías de Inserción (Ej. No se tiene información de un
proveedor hasta que se le compra algo)
• Anomalías de Borrado (Ej. Al eliminar registros
correspondientes a artículos de determinado proveedor
podemos sin intención borrar la información relativa a dicho
proveedor)
Restricciones
• Restricciones que dependen de la
semántica del dominio de los elementos (ej.
Nadie tiene 10m de estatura, Nadie de 25
años de edad tiene 35 años de experiencia
profesional)
• Restricciones relacionadas a
DEPENDENCIAS FUNCIONALES, las
cuales son declaradas por el diseñador de
la BD que pretenden garantizar su
integridad
Normalización de Bases
de Datos
Primera forma normal
Conversión a 1NF
Primer Paso: Eliminación de grupos repetitivos
Este tipo de tablas no cumple
ni siquiera como 1NF y por ende
no puede llamarse tabla relacional
Asegurarse que cada campo
con nulo tenga el valor que
corresponde a su “grupo”
Conversion a la 1NF
• Segundo paso, identificar la llave primaria, en
este caso PROJ_NUM, EMP_NUM
• Tercer paso. Identificar las dependencias.
Decir que el atributo B es funcionalmente
dependiente del atributo A es equivalente a
decir que A identifica a B
A fi
B
La primera forma normal
implica
• Todas las claves están definidas
• No hay grupos repetitivos en una
tabla
• Todos los atributos dependen de la
clave primaria
Conversión a la 2NF
• Primer paso: Identificar todas las llaves y todas sus
combinaciones, cada llave y cada combinación de llaves
constituye la llave primaria de una nueva tabla.
Ej.
PROJ_NUM
EMP_NUM
PROJ_NUM EMP_NUM
• Segundo paso: Identificar los atributos que dependen de
cada llave o combinación de llaves y generar las tablas
nuevas
Ej.
PROJECT(PROJ_NUM, PROJ_NAME)
EMPLOYEE(EMP_NUM, EMP_NAME, JOB_CLASS, CHG_HOUR)
ASSIGN(PROJ_NUM, EMP_NUM, ASSIGN_HOURS)
La segunda forma normal
• La 2NF implica que no hay
dependencias parciales, es decir,
ningún atributo depende solamente
de una parte de la llave primaria
• Si la llave primaria no es llave
compuesta, la tabla automáticamente
está en la 2NF
Una tabla se encuentra
en la 3NF si:
• Cumple con la 2NF
• Cada atributo depende directamente
de la llave primaria (no de manera
transitiva)
Tercera Forma Normal (3NF)
• Primer paso: Por cada dependencia
transitiva, use al determinante como llave
primaria de una tabla nueva
JOB_CLASS
• Segundo paso: Identificar los atributos
dependientes de cada determinante
identificado en el primer paso
JOB_CLASS -> CHG_HOUR
• Elimine los atributos dependientes de las
dependencias transitivas
3NF
La 3NF presenta problemas
potenciales cuando:
• La relación tiene varias llaves
Comentarios de: Curso de Bases de Datos (0)
No hay comentarios