preparado por: miguel cotaña 1cotana.informatica.edu.bo/downloads/bd-quinto1.pdf · los programas...
TRANSCRIPT
Preparado por: Miguel Cotaña 1
Preparado por: Miguel Cotaña 2
BASES DE DATOS
Una BD es una colección de datos
operacionales almacenados sin
redundancia perjudiciales y utiliza-
das para una o mas aplicaciones, de
una empresa en particular
Preparado por: Miguel Cotaña 3
…..empresa y datos
Una compania
manufacturera
Un banco
Un hospital
Una universidad
Una dependencia del
gobierno
Datos de Producto
Datos de cuenta
Datos de paciente
Datos de estudiantes
Datos de planifacion
Preparado por: Miguel Cotaña 4
ARQUITECTURA DE SBD
NIVEL EXTERNO: Describe solo parte de la BD(mundo real)
NIVEL CONCEPTUAL: Describe que datos son almacenados en la BD y las relaciones que existen entre los datos. (mundo de ideas)
NIVEL INTERNO: Describe el almacenamiento fisico de los datos(mundo de datos)
Preparado por: Miguel Cotaña 5
….niveles
El nivel interno es el mas cercano al
almacenamiento fisico, es decir, es el que se ocupa
de la forma como se almacenan fisicamente los
datos.
El nivel externo es el mas cercano a los usuarios,
es decir, es el que se ocupa de la forma como los
usuarios individuales perciben los datos.
El conceptual es el nivel de mediacion
Preparado por: Miguel Cotaña 6
SISTEMA DE BD (SBD)
Un SBD es un siste-
ma cuyo proposito
general es el de
almacenar y recu-
perar informacion
inherente a la
organización donde
opera.
DATOS: Un SBD puede comprender 1 o varias BD´s.
USUARIOS: personas que accesan a las BD.
HARD: Donde recide las BD.
SOFT: Se lo conoce como DBMS.
Preparado por: Miguel Cotaña 7
USUARIOS
USUARIO FINAL: Realiza consultas o
mapeos de subconjuntos de la BD.
PROGRAMADOR DE APLICACIONES:
Escribe los programas.
DBA: Usuario sofisticado, hace las veces de
diseñador y consolidador del sistema
Preparado por: Miguel Cotaña 8
CARACTERISTICAS DE LOS
SBD
Control de la redundancia.
Evitar la inconsistencia
Compartimiento de los datos
Integridad y seguridad de los datos
Estandarizar la informacion en el sistema
Independencia de datos.
Preparado por: Miguel Cotaña 9
TIPOS DE BASE DE DATOS
Base de Datos Jerárquica
Base de Datos Relacional
Base de Datos de Red
Base de Datos Orientada a Objetos
Base de Datos Distribuidas
Base de Datos Objeto Relacional
Base de Datos Declarativas (deductivas y
funcionales)
Preparado por: Miguel Cotaña 10
1.2 MODELADO
El modelado es la etapa en donde identificamos y
“dibujamos” los conjuntos de datos que el usuario
requiere en un SI.
El diseño Logico, es la etapa donde
transformamos ese modelo en un diseño
relacional.
El diseño fisico, es donde se especifica
caracteristicas propias como tipo de datos,
longitud, etc.
Preparado por: Miguel Cotaña 11
MODELO DE OBJETOS
La tecnologia OO, proporciona una forma practica y productiva de desarrollo de Soft.
Se trata de pensar de modo abstracto, acerca del problema empleando conceptos del mundo real y no conceptos de computadoras.
Para lograr un software adecuado para el cliente, existen el AOO, DOO y POO
Preparado por: Miguel Cotaña 12
…….MODELO DE OBJETOS
• La tecnologia orientada a objetos se apoya
en los solidos fundamentos de la ingenieria,
cuyos elementos reciben el nombre global
de modelo de objetos.
• Abarca los principios de abstraccion,
encapsulacion, modularidad, jerarquia,
tipos, concurrencia y persistencia.
Preparado por: Miguel Cotaña 13
1.3 BASE DE DATOS
RELACIONAL
Este es el modelo mas utilizado para
modelar problemas reales y administrar
datos dinamicamente.
Su idea fundamental es el uso de
“relaciones”. Durante su diseño, una BD
relacional pasa por el proceso de
normalizacion.
Preparado por: Miguel Cotaña 14
DISEÑO CONCEPTUAL
MODELO E-R
El modelo de datos entidad-relacion (E-R)
se basa en una percepcion del mundo real
que consiste en un conjunto de objetos
basicos llamados entidades y relaciones
entre estos objetos.
Preparado por: Miguel Cotaña 15
…..modelo E-R
Entidad: un objeto, distinguible de otros
objetos. Cosas que se pueden identificar
claramente. Ej. Ximena Mendez y C.I.
Conjunto de entidades: Conjunto de
entidades del mismo tipo. Ej.Funcionario
Atributo: Propiedad de una entidad.
Ej.Funcionario(nombre,edad,direccion)
Preparado por: Miguel Cotaña 16
Entendiendo los conceptos de: Entidad, Conjunto de Entidades y Atributo.
Dominio de un atributo: Conjunto de valores
válidos para el atributo. Ej:
Dominio del nombre: texto o strings
Dominio de edad: enteros positivos
RELACIONAMIENTO:Asociación entre 2
entidades. Ej:
Patty trabaja en el proyecto Nro.2
Preparado por: Miguel Cotaña 17
….conceptos y grafica
Conjunto de relaciones: Conjunto de relacionamientos
del mismo tipo.
Ej:Funcionario TRABAJA en el Proyecto
FUNCIONARIO PROYECTOTRABAJA
en
DIRECCION
EDAD
NOMBRECODIGO
NOMBRE
DEPTO
Preparado por: Miguel Cotaña 18
DISEÑO DE BD
METODOLOGIA DE
DISEÑO:
Consiste en un
conjunto de tecnicas
que se aplican de
acuerdo a una
secuencia de pasos.
Preparado por: Miguel Cotaña 19
DISEÑO LOGICO
Transformación del diagrama E-R extendido para elementos de un modelo logico.
Los modelos logicos son:
Jerárquico
Relacional
De red
Orientado a Objetos
Preparado por: Miguel Cotaña 20
TABLA RELACIONAL
CODIGO NOMBRE SEXO EDAD
A1 Ximena F 21
A2 Marcos M 26
A3 Zulma F 28
FUNCIONARIOATRIBUTOS
T
U
P
L
A
S
REPRESENTACION LOGICA:
FUNCIONARIO(codigo,nombre,sexo,edad)
Preparado por: Miguel Cotaña 21
….modelo relacional
Modelo formal por naturaleza, estructuras
de datos simples y uniformes.
Este modelo se basa en la teoria matematica
de conjuntos, donde los datos son
representados por medio de una colección
de relaciones o tablas.
Es el modelo mas utilizado comercialmente
Preparado por: Miguel Cotaña 22
OBJETIVOS DEL M.R.
Proveer esquemas de facil utilizacion
Mejorar la independencia lógica y fisica de datos
Proveer a los usuarios de lenguajes de manipulación de BD de alto nivel, permitiendo el acceso a usuarios sin experiencia.
Optimizar el acceso a BD
Mejorar la integridad y seguridad de los datos
Proveer un enfoque metodológico para el diseño de esquemas
Preparado por: Miguel Cotaña 23
CARACTERISTICAS DE BASES DE
DATOS RELACIONAL
Una BD, puede ser organizada en relaciones
Se caracteriza por utilizar una tabla
bidimensional, para la organización de los
datos (filas y columnas)
Cada fila contiene la informacion a una
entrada en la BD.
Cada columna define un item de la BD.
Preparado por: Miguel Cotaña 24
LENGUAJES DE BD
Lenguaje de definicion de datos(LDD)
Usualmente el LDD incorpora la definicion de constraints y la definicion de vistas.
Lenguaje de manipulacion de datos(LMD)
- Alto nivel: orientada a conjuntos
- Bajo nivel: orientada a registros
Lenguaje huesped
Lenguaje de programacion en el cual comandos del LMD son embutidos.
Preparado por: Miguel Cotaña 25
REPRESENTACION DE E-R
VENDEDOR PRODUCTOS
PROVEEDOR
VENDE
PROVEE
CODVEN NOMBRE SUELDO
CANTIDAD
CANTIDADPRE_UNITCODPROD
CLIENTE
FECHA-VEN
COD_CLI
NOMBRE FONO
NOMBRE DIRECCIONFONO
COD_PROV
Preparado por: Miguel Cotaña 26
TECNICAS UTILIZADAS
Tecnica de analisis de datos para tratar la semántica
de datos desde el punto de vista del usuario.
Tecnica para el mapeamiento(definen
correspondencias entre los esquemas de los varios
niveles) realizado a partir de los resultados del
analisis de los datos a una implementación de BD
Diseño Conceptual modelo E-R
Diseño Logico modelo relacional
Diseño Fisico modelo relacional
Preparado por: Miguel Cotaña 27
RESTRICCIONES DE
ASIGNACION
(Mapping)
Preparado por: Miguel Cotaña 28
RESTRICCIONES DE ASIGNACIÓN
Una planificación E-R de una empresa pueden
definir ciertas restricciones: CARDINALIDAD,
que expresan el número de entidades con las que
puede asociarse otra entidad mediante un conjunto
de entidades.
Para un conjunto binario de relaciones R entre los
conjuntos de entidades A y B, la cardinalidad de
asignación debe ser una de las siguientes:
Preparado por: Miguel Cotaña 29
……restricciones de asig.
Una a una. Una entidad en A esta asociada
a lo sumo con una entidad en B, y una
entidad en B esta asociada a lo sumo con
una entidad en A.
Una a muchas. Una entidad en A esta
asociada con numero cualquiera de
entidades en B. Una entidad en B puede
asociarse a lo sumo con una entidad en A
Preparado por: Miguel Cotaña 30
……restricciones de asig.
Muchas a una. Una entidad en A esta asociada a
lo sumo con una entidad en B, sin embargo, puede
estar asociada con un numero cualquiera de
entidades en A.
Muchas a muchas. Una entidad en A esta
asociada con numero cualquiera de entidades en
B, y una entidad en B esta asociada con un
numero cualquiera de entidades en A
Preparado por: Miguel Cotaña 31
CARDINALIDAD: grado de asociación
PROVEEDOR EMPRESA
MUJER
Provee para
Casado con
1:1
N:M
HOMBRE
N:1
PADREHIJO Descend.
1 1
1N
N M
Preparado por: Miguel Cotaña 32
TIPOS DE
RELACIONAMIENTO
PROVEEDOR PIEZA
FUNCIONARIO
provee
FUNC_JEFE
CANTIDAD
UNARIO
BINARIO
Preparado por: Miguel Cotaña 33
….tipos de rel….
PROVEEDOR PIEZA
FUNCIONARIO
Provee
para
TERNARIO
Preparado por: Miguel Cotaña 34
Ejemplo
Un cliente tiene la opción de que se cargue su cuenta automaticamente en el momento de la compra (combustible, mantenimiento, o estacionamiento) o de que se le envie mensualmente una factura en papel. En cualquier caso, los clientes pueden pagar con dinero en efectivo, tarjeta de credito o cheque personal. En la estación de servicio “amigos” el combustible se vende por galon a un precio que depende de que el combustible sea gasolina, normal o especial. Los servicios estan cotizados de acuerdo con el costo de los insumos y de la labor realizada. El estacionamiento se vende segun tarifas que pueden ser diarias, semanales o mensuales. Los precios del combustible, servicios de mantenimiento, partes y estacionamiento pueden variar; solamente el gerente de la estacion puede ingresar o cambiar un precio. A su criterio, el gerente puede dar un descuento en sus compras a un cliente en particular; este descuento puede variar de un cliente a otro. Un 2,5% de impuesto local sobre ventas se aplica a todas las operaciones
Preparado por: Miguel Cotaña 35
1.4 BASE DE DATOS O.O.
Para todas las cosas orientadas a objetos, el marco de referencia conceptual es el modelo de objetos. Se menciono 4 elementos en este modelo:
- Abstracción- Encapsulamiento- Modularidad- Jerarquia
Preparado por: Miguel Cotaña 36
a) ABSTRACCION
Una abstraccion denota las
caracteristicas esenciales de un objeto
que lo distinguen de todos los demas
tipos de objeto y proporciona asi
fronteras conceptuales nitidiamente
definidas respecto a la perpectiva del
observador.
Preparado por: Miguel Cotaña 37
Preparado por: Miguel Cotaña 38
b) ENCAPSULAMIENTO
Es el proceso de almacenar en un mismo
compartimiento los elementos de una
abstraccion que constituyen su
estructura y su comportamiento
Preparado por: Miguel Cotaña 39
Preparado por: Miguel Cotaña 40
c) MODULARIDAD
La modularidad es la propiedad que tiene
un sistema que ha sido descompuesto
en un conjunto de modulos cohesivos y
debilmente acoplados.
Preparado por: Miguel Cotaña 41
Preparado por: Miguel Cotaña 42
d) JERARQUIA
La jerarquia es una clasificacion u ordenacion
de abstracciones.
Preparado por: Miguel Cotaña 43
Preparado por: Miguel Cotaña 44
POO, DOO, AOO
POO: Es un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos.
DOO: Es un método de diseño que abarca el proceso de descomposición y una notación para describir los modelos lógico y fisico.
AOO: Es un método de analisis que examina los requisitos desde la perpectiva de las clases y objetos que se encuentran en el vocabulario del dominio del problema.
Preparado por: Miguel Cotaña 45
PARADIGMA O.O.
La Orientacion a Objetos (OO), es una tecnica para el modelado de sistemas como un conjunto de objetos relacionados que interactuan entre si. La OO es similar a la forma en que las personas observan su entorno.
La OO es un enfoque de desarrollo de software que organiza tanto el problema como su solucion.
Preparado por: Miguel Cotaña 46
OBJETOS
OBJETO. Es la representacion abstraida de las cosas
Desde la perspectiva de la cognición humana un
objeto es:
- Una cosa tangible y/o visible.
- Algo que puede comprenderse.
- Algo hacia lo que se dirige una acción o
pensamiento.
Todo lo que hay en el mundo seran objetos?
Preparado por: Miguel Cotaña 47
OBJETOS
Los objetos tienen atributos y operaciones.
Los atributos son sus caracteristicas y sus
operaciones (servicios, metodos) son las acciones
que el objeto puede realizar
La definicion de objetos implica la descripcion de
atributos, comportamientos, operaciones y
mensajes
Preparado por: Miguel Cotaña 48
EJEMPLO
TOYOTA: CORONA
- Placa
- Modelo
- Color
- Nro-motor
- Frenar()
- Cambiar-caja()
OBJETO
ATRIBUTOS
OPERACIONES
Comportamiento del objeto
Preparado por: Miguel Cotaña 49
Para verificar un objeto previamente identificado se pueden utilizar los siguientes criterios:
- Relevancia para el dominio del problema.
- Existencia independiente- Atributos y Operaciones
Preparado por: Miguel Cotaña 50
CLASE
Clase es una agrupacion de objetos con los mismos tipos de caracteristicas
Los objetos son instancias de las clases.
Las clases definen atributos y operaciones para sus objetos, no para ellas mismas.
Preparado por: Miguel Cotaña 51
……….CLASES Y OBJETOSCLASE. Es un conjunto de objetos que comparten una
estructura comun y un comportamiento común.
Preparado por: Miguel Cotaña 52
TIPOS DE RELACION
ENTRE CLASES
asociacion
agregacion (tiene)
composicion (incluye)(parte de)
dependencia
navegacion (es un)
Preparado por: Miguel Cotaña 53
VENDEDOR
ITEM_SOLICITADO CLIENTE
ORDEN_COMPRA
recibe
incluye tiene
Preparado por: Miguel Cotaña 54
GENERALIZACION
Es el proceso (durante las etapas de analisis y diseno de sistemas) de identificar y definir los atributos y operaciones comunes en una coleccion de objetos.
• Permite identificar nuevas clases• Reduce la redundancia• Promueve la reutilizacion de codigo
Preparado por: Miguel Cotaña 55
HERENCIA
Es el mecanismo para definir una clase
en terminos de una clase ya existente.
Una subclase hereda los miembros de
una superclase
Preparado por: Miguel Cotaña 56
VEHICULO
precio
Veloc_max
Frenar()
AUTO
descapotable
turbo
subir()
CAMION
capacidad
traccion
cargar()
Preparado por: Miguel Cotaña 57
ESPECIALIZACION Y
GENERALIZACION
Mientras la generalizacion se concentra en las
clases mayores del sistema y ayuda a
encontrar nuevas clases, la especializacion
se concentra en crear clases mas especificas.
La especializacion es herencia con la adicion
o modificacion de operaciones para resolver
un problema especifico.
Preparado por: Miguel Cotaña 58
ESPECIALIZACION Y
GENERALIZACION
especializacion
Generalizacion
Preparado por: Miguel Cotaña 59
CLASIFICACIÓNIdentificar clases y objetos es fundamental en el
DOO. Implica descubrimiento e invención.
Preparado por: Miguel Cotaña 60
ABSTRACCIONES CLAVEEs una clase u objeto que forma parte del vocabulario
del dominio del problema.
Preparado por: Miguel Cotaña 61
SISTEMAS DE GESTION
DE
BASES DE DATOS
Preparado por: Miguel Cotaña 62
SISTEMA DE BD
SGBD BD
Procesador de consulta Metadatos(DD)
+
Archivos de datos
Preparado por: Miguel Cotaña 63
OBJETIVOS de SGBD
Proveer un ambiente que sea adecuado y
eficiente para recuperar y almacenar
información de la Base de Datos.
Gestionar grandes volumenes de
información.
Proveer seguridad a la informacion
almacenada en las Bases de Datos.
Preparado por: Miguel Cotaña 64
CARACTERÍSTICAS PARA
USAR UN SGBD
REDUNDANCIA
Sin SGBD: La misma
información es almace-
nada en diversos archivos
privados.
Con SGBD: Redundancia
es reducida al mínimo,
inconsistencias son evita-
das por la integración de
datos.
INTEGRIDAD
Sin SGBD: Ej: Una consulta que revele que un empleado trabajó 400 horas/semana. Las reglas a ser obedecidas estan en cada una de las aplicaciones.
Con SGBD: Asegura que la información de la BD es correcta. Una vez que sean definidas las reglas para el SGBD, estas reglas valen para todas las aplicaciones automáticamente.
Preparado por: Miguel Cotaña 65
…….usar un SGBD
TOMA DE DECISIONES
Sin SGBD:La información
necesaria estan esparcidas
en archivos pertenecientes a
sistemas distintos.
Con SGBD: La integración
de los datos facilita la
obtención rapida de las
informaciones(ayuda en la
toma de decisiones)
ACCESO A
INFORMACION
Sin SGBD: Los formatos
de archivos dependen del
lenguaje o del producto
usado para generarlos
Con SGBD: Los formatos
de archivos son accedidos
por el SGBD, no por
programas de aplicación
Preparado por: Miguel Cotaña 66
…….usar un SGBD
INDEPENDENCIA DE LOS DATOS
Sin SGBD: Los programas de aplicación dependen de los formatos del archivo.
Con SGBD: Los farmatos de registros se almacenan en la misma BD(junto con los datos) y son accedidos por el SGBD, no por el programa de aplicación.
SEGURIDAD Y
PROTECCION
Sin SGBD: Formas
estandares de seguridad
utilizando codigos y señas
Con SGBD: Hay esquema
adicional de proteccion: el
usuario ve la BD por
medio de “ventanas”
Preparado por: Miguel Cotaña 67
…….usar un SGBD
USO CONCURRENTE DE LOS DATOS
Sin SGBD: Los archivos son utilizados por varios usuarios simultaneamente. Alquien tiene que sincronizar los eventos.
Ej: dos clientes del banco, que depositan en la misma cuenta, al mismo tiempo:
Estado inicial de la cuenta Bs.500
Cli_A deposita 200
Cli_B deposita 300
Preparado por: Miguel Cotaña 68
…….usar un SGBD
CASO1:
Cli_A: lee 500
Cli_A: 500 + 200
total : 700
Cli_B: lee 700
Cli_B: 700 + 300
total: 1000
OK
CASO2:
Cli_A: lee 500
Cli_B: lee 500
Cli_A: 500+200=700
Cli_B: 500+300=800
….problema
Con SGBD: Control de concurrencia de transacciones
con actualizaciones atomicas (una por cada vez)
Preparado por: Miguel Cotaña 69
FUNCIONES DEL ABD
Identifica información relevante.
Definiciones de esquema (LDD)
Definición de la estructura de almacenamiento y del método de acceso.
Modificación del esquema y de la organización fisica.
Definición de aspectos de seguridad(usuarios, entornos, infraestructura)
Especificación de las restricciones de integridad
Reorganización
Administracion del uso de la BD
Estadisticas
Auditoria
Backup y recuperacion
Preparado por: Miguel Cotaña 70
1.5 BASES DE DATOS
DISTRIBUIDAS Es una colección de múltiples y
lógicamente relacionadas BD sobre una red de ordenadores.
Es una BD almacenada en varios ordenadores que se comunican mediante una red de comunicaciones.
Una de las cosas que debe ser distribuido es el procesamiento logico.
Preparado por: Miguel Cotaña 71
SISTEMAS DISTRIBUIDOS
Un SGBDD, es el software que administra
los mecanismos de acceso, de forma
transparente para los usuarios.
Los datos son localizados en diferentes
maquinas.
Datos son compartidos por los usuarios
Preparado por: Miguel Cotaña 72
DISEÑO DE BDD
Las dos decisiones principales que se deben
realizar en el diseño de BDD son: Dividir
las bases en partes y saber donde almacenar
cada una.
Los terminos para estas actividades son:
- Fragmentación
- Asignación
Preparado por: Miguel Cotaña 73
FRAGMENTACION
HORIZONTAL: particiona una relación en
sus tuplas. Asi cada fragmento tiene un
subconjunto de las tuplas de la relacion.
VERTICAL: produce fragmentos R1,R2….,
cada cual contiene un subconjunto de
atributos de R tambien como la llave
primaria de R.
Preparado por: Miguel Cotaña 74
APLICACIONES
Fabricas, especialmente empresas con
multiples plantas industriales
Sistemas de apoyo a decisiones corporativos
Empresas aéreas.
Cadenas de hoteles
Cualquier institución que tenga una estruc-
tura de organización descentralizada
Preparado por: Miguel Cotaña 75
VENTAJAS
Gestión transparente de la localización de datos.
Aumento de confiabilidad y disponibilidad a traves de transacciones distribuidas.
Expansion mas facil y simple
Economica: es mejor invertir en un conjunto de maquinas de pequeño porte que en una única maquina de gran capacidad.
Preparado por: Miguel Cotaña 76
DESVENTAJAS
Poca experiencia de profesionales
Complejidad del sistema
Seguridad
Consistencia de la BD.
Preparado por: Miguel Cotaña 77
1.6 NORMALIZACION
Preparado por: Miguel Cotaña 78
DEPENDENCIA
Dependencia funcional: Sea el esquema
R(A,DF), y sean X, Y dos subconjuntos de A, a
los que llamamos descriptores. Se dice que Y
“DF” de X o que X implica o determina a Y, y se
denota como X Y si, y solo si, a cada valor x
del atributo X, le corresponde un unico valor y del
atributo Y.
Ej: Codigo de estudiante determina el nombre
del mismo
Preparado por: Miguel Cotaña 79
DEPENDENCIA
Dependencia funcional completa: Se dice
que Y tiene dependencia funcional completa
o plena de X, si depende funcionalmente de
X, pero no depende de ningun subconjunto
de este. Se representa por X => Y, por tanto
X=>Y Sii no existe un X’ subconjunto X |
X’ Y
Preparado por: Miguel Cotaña 80
DEPENDENCIA
Dependencia funcional trivial: Una dependencia
funcional X Y se dice que es trivial si Y es un
subconjunto propio de X.
Dependencia funcional elemental: Decimos que
una dependencia funcional X Y es elemental si Y
es un atributo unico no incluido en X, y no existe X’
incluido en X tal que X’ Y, es decir, la DFE es
una DFC, no trivial y en la que el implicado es un
atributo unico.
Preparado por: Miguel Cotaña 81
DEPENDENCIA
Dependencia funcional transitiva: Dado el esquema de relacion R(X,Y,Z) en las que existen las siguientes DF:
X Y Y Z
Se dice que Z tiene una dependencia transitiva respecto a X a traves de Y, lo que se representa por:
X - -> Z
Preparado por: Miguel Cotaña 82
CLAVES
Clave candidata: Una clave cadidata de una
relacion es un conjunto no vacio de atributos
que identifican univocamente y minimamente
cada tupla de una relacion.
En toda relacion siempre hay, al menos, una
clave candidata, ya que el conjunto de
atributos que constituye la relacion gozara de
la propiedad de unicidad.
Preparado por: Miguel Cotaña 83
CLAVES
Una relacion puede tener mas de una clave candidata:
Clave primaria: Los atributos que forman parte de la clave primaria no pueden tomar valores nulos.
Clave alternativa: Son aquellas claves candidatas que no han sido elegidas como claves primarias de la relacion.
Preparado por: Miguel Cotaña 84
CLAVES
Clave ajena: Una clave ajena (externa o
foranea) de una relacion R2 es un conjunto no
vacio de atributos cuyos valores han de
coincidir con los valores de la clave primaria
de una relacion R1. Se dice que R2 es la
relacion que “referencia”, mientras que R1 es
la relacion “referenciada”.
Preparado por: Miguel Cotaña 85
FORMAS NORMALES
Cuando se disena una BD mediante el MR,
al igual que ocurre con otros modelos,
obtenemos diferentes esquemas relacionales
y no todos ellos son equivalentes, ya que
unos van a representar la realidad mejor que
otros.
Con la teoria de la normalizacion, se
consigue una formalizacion en el diseno
logico de BDR.
Preparado por: Miguel Cotaña 86
1ra. FORMA NORMAL
Para que una tabla pueda ser considerada una
relacion no debe admitir grupos repetitivos,
esto es, debe estar en primera forma normal
Se dice que una relacion esta en 1FN cuando
cada atributo solo toma un valor del dominio
simple subyacente.
Preparado por: Miguel Cotaña 87
2da. FORMA NORMAL
Esta basada en el concepto de dependencia
plena y en las interrelaciones existentes entre
los atributos principales de una relacion.
Se dice que una relacion esta en 2FN si: Esta en
1FN y cada atributo no principal tiene DFC
respecto de cada una de las claves.
Preparado por: Miguel Cotaña 88
3ra. FORMA NORMAL
Esta basada en el concepto de DFT
Un esquema de relacion R esta en 3FN Sii.
Esta en 2FN y no existe ningun atributo no
principal que dependa transitivamente de
alguna clave R
Preparado por: Miguel Cotaña 89
FORMA NORMAL Boyce-Codd
Para ciertos problemas fueron insuficientes las
tres primeras formas normales, en relaciones
que presentaban varias claves candidatas
compuestas que se solapaban.
Se dice que una relacion se encuentra en FNBC
si, y solo si, todo determinante es una clave
candidata.
Preparado por: Miguel Cotaña 90
SQL
(Structured Query Languaje) La mayoria de los SGBD relacionales
proveen un lenguaje de alto nivel, en el que el usuario solo especifica lo que desea como resultado, dejando las decisiones de como ejecutar la consulta para el sistema.
El SQL es lenguaje standard de BD.
Incorpora el algebra relacional y el calculo relacional
Preparado por: Miguel Cotaña 91
OPERACIONES
FUNDAMENTALES
Seleccion ( ): p(R) R’
p – predicado de la seleccion
(condicion a ser satisfecha)
Proyeccion ( ): LA(R) R’
LA – Lista de atributos deseados
Producto cartesiano (x): R1xR2 R’
Preparado por: Miguel Cotaña 92
…..operaciones fund..
Union (U):R1 U R2
a) R1 y R2 necesitan ser del mismo orden.
Igual numero de atributos
b) El dominio del i-esimo atributo en R1 es
igual al i-esimo atributo en R2
Diferencia (-): R1 – R2 R’
mismas observaciones de la union