modulo base de datos
TRANSCRIPT
-
8/7/2019 modulo base de datos
1/74
-
8/7/2019 modulo base de datos
2/74
MODULOBASEDEDATOS Pag.2
CAPITULO I
Introduccin a los conceptosde Bases de Datos
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
3/74
MODULOBASEDEDATOS Pag.3
1.1 Definicin de Base de Datos
Todo buen curso necesita empezar con algunos conceptos bsicos para el mejor
entendimiento del mismo, por lo tanto empezaremos con las definiciones queinvolucran a las bases de datos.
Dato:Conjunto de caracteres con algn significado, pueden ser numricos, alfabticos,
o alfanumricos.
Informacin:Es un conjunto ordenado de datos los cuales son manejados segn la necesidad del
usuario, para que un conjunto de datos pueda ser procesado eficientemente y pueda
dar lugar a informacin, primero se debe guardar lgicamente en archivos.Conceptos bsicos de archivos computacionales.
Campo:Es la unidad ms pequea a la cual uno puede referirse en un programa. Desde el
punto de vista del programador representa una caracterstica de un individuo uobjeto.
Registro:Coleccin de campos de iguales o de diferentes tipos.
Archivo:Coleccin de registros almacenados siguiendo una estructura homognea.
Base de datos:
Es una coleccin de archivos interrelacionados, son creados con un DBMS. Elcontenido de una base de datos engloba a la informacin concerniente(almacenadasen archivos) de una organizacin, de tal manera que los datos estn disponibles paralos usuarios, una finalidad de la base de datos es eliminar la redundancia o al menos
minimizarla. Los tres componentes principales de un sistema de base de datos son elhardware, el software DBMS y los datos a manejar, as como el personal encargadodel manejo del sistema.
Sistema Manejador de Base de Datos. (DBMS)Un DBMS es una coleccin de numerosas rutinas de software interrelacionadas,
cada una de las cuales es responsable de una tarea especfica.
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
4/74
MODULOBASEDEDATOS Pag.4
El objetivo primordial de un sistema manejador base de datos es proporcionarun contorno que sea a la vez conveniente y eficiente para ser utilizado al extraer,almacenar y manipular informacin de la base de datos. Todas las peticiones deacceso a la base, se manejan centralizadamente por medio del DBMS, por lo queeste paquete funciona como interfase entre los usuarios y la base de datos.
Esquema de base de datos:
Es la estructura por la que esta formada la base de datos, se especifica por mediode un conjunto de definiciones que se expresa mediante un lenguaje especialllamado lenguaje de definicin de datos. (DDL)
Administrador de base de datos (DBA):
Es la persona o equipo de personas profesionales responsables del control y
manejo del sistema de base de datos, generalmente tiene(n) experiencia en DBMS,diseo de bases de datos, Sistemas operativos, comunicacin de datos, hardware yprogramacin.
Los sistemas de base de datos se disean para manejar grandes cantidades deinformacin, la manipulacin de los datos involucra tanto la definicin deestructuras para el almacenamiento de la informacin como la provisin demecanismos para la manipulacin de la informacin, adems un sistema de base dedatos debe de tener implementados mecanismos de seguridad que garanticen laintegridad de la informacin, a pesar de cadas del sistema o intentos de accesos noautorizados.
Un objetivo principal de un sistema de base de datos es proporcionar a losusuarios finales una visin abstracta de los datos, esto se logra escondiendo ciertosdetalles de como se almacenan y mantienen los datos.
1.2 Objetivos de los sistemas de bases de datos.
Los objetivos principales de un sistema de base de datos es disminuir lossiguientes aspectos:
Redundancia e inconsistencia de datos.Puesto que los archivos que mantienen almacenada la informacin son creados
por diferentes tipos de programas de aplicacin existe la posibilidad de que si no secontrola detalladamente el almacenamiento, se pueda originar un duplicado deinformacin, es decir que la misma informacin sea ms de una vez en undispositivo de almacenamiento. Esto aumenta los costos de almacenamiento yacceso a los datos, adems de que puede originar la inconsistencia de los datos - es
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
5/74
MODULOBASEDEDATOS Pag.5
decir diversas copias de un mismo dato no concuerdan entre si -, por ejemplo: que seactualiza la direccin de un cliente en un archivo y que en otros archivospermanezca la anterior.
Dificultad para tener acceso a los datos.
Un sistema de base de datos debe contemplar un entorno de datos que le facilite alusuario el manejo de los mismos. Supngase un banco, y que uno de los gerentesnecesita averiguar los nombres de todos los clientes que viven dentro del cdigopostal 78733 de la ciudad. El gerente pide al departamento de procesamiento dedatos que genere la lista correspondiente. Puesto que esta situacin no fue previstaen el diseo del sistema, no existe ninguna aplicacin de consulta que permita estetipo de solicitud, esto ocasiona una deficiencia del sistema.
Aislamiento de los datos.
Puesto que los datos estn repartidos en varios archivos, y estos no pueden tenerdiferentes formatos, es difcil escribir nuevos programas de aplicacin para obtenerlos datos apropiados.
Anomalas del acceso concurrente.
Para mejorar el funcionamiento global del sistema y obtener un tiempo derespuesta ms rpido, muchos sistemas permiten que mltiples usuarios actualicenlos datos simultneamente. En un entorno as la interaccin de actualizacionesconcurrentes puede dar por resultado datos inconsistentes. Para prevenir esta
posibilidad debe mantenerse alguna forma de supervisin en el sistema.
Problemas de seguridad.
La informacin de toda empresa es importante, aunque unos datos lo son ms queotros, por tal motivo se debe considerar el control de acceso a los mismos, no todoslos usuarios pueden visualizar alguna informacin, por tal motivo para que unsistema de base de datos sea confiable debe mantener un grado de seguridad quegarantice la autentificacin y proteccin de los datos. En un banco por ejemplo, elpersonal de nminas slo necesita ver la parte de la base de datos que tiene
informacin acerca de los distintos empleados del banco y no a otro tipo deinformacin.
Problemas de integridad.
Los valores de datos almacenados en la base de datos deben satisfacer cierto tipode restricciones de consistencia. Estas restricciones se hacen cumplir en el sistemaaadiendo cdigos apropiados en los diversos programas de aplicacin.
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
6/74
MODULOBASEDEDATOS Pag.6
1.3 Abstraccin de la informacin.
Una base de datos es en esencia una coleccin de archivos relacionados entre s,de la cual los usuarios pueden extraer informacin sin considerar las fronteras de losarchivos.
Un objetivo importante de un sistema de base de datos es proporcionar a losusuarios una visin abstracta de los datos, es decir, el sistema esconde ciertosdetalles de cmo se almacenan y mantienen los datos. Sin embargo para que elsistema sea manejable, los datos se deben extraer eficientemente.
Existen diferentes niveles de abstraccin para simplificar la interaccin de losusuarios con el sistema; Interno, conceptual y externo, especficamente el dealmacenamiento fsico, el del usuario y el del programador.
Nivel fsico.Es la representacin del nivel ms bajo de abstraccin, en ste se describe en
detalle la forma en como de almacenan los datos en los dispositivos dealmacenamiento (por ejemplo, mediante sealadores o ndices para el accesoaleatorio a los datos).
Nivel conceptual.
El siguiente nivel ms alto de abstraccin, describe que datos son almacenadosrealmente en la base de datos y las relaciones que existen entre los mismos, describe
la base de datos completa en trminos de su estructura de diseo. El nivel conceptualde abstraccin lo usan los administradores de bases de datos, quienes deben decidirqu informacin se va a guardar en la base de datos.
Consta de las siguientes definiciones:
1. Definicin de los datos: Se describen el tipo de datos y la longitud de campotodos los elementos direccionables en la base. Los elementos por definirincluyen artculos elementales (atributos), totales de datos y registrosconceptuales (entidades).
2. Relaciones entre datos: Se definen las relaciones entre datos para enlazartipos de registros relacionados para el procesamiento de archivos mltiples.En el nivel conceptual la base de datos aparece como una coleccin de registros
lgicos, sin descriptores de almacenamiento. En realidad los archivos conceptualesno existen fsicamente. La transformacin de registros conceptuales a registrosfsicos para el almacenamiento se lleva a cabo por el sistema y es transparente alusuario.
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
7/74
MODULOBASEDEDATOS Pag.7
Nivel de visin.
Nivel ms alto de abstraccin, es lo que el usuario final puede visualizar delsistema terminado, describe slo una parte de la base de datos al usuario acreditadopara verla. El sistema puede proporcionar muchas visiones para la misma base de
datos.La interrelacin entre estos tres niveles de abstraccin se ilustra en la siguientefigura.
1.4 Modelos de datos.
Para introducirnos en este tema, empezaremos definiendo que es un modelo.modelo:
Es una representacin de la realidad que contiene las caractersticas generales dealgo que se va a realizar. En base de datos, esta representacin la elaboramos deforma grfica.
Qu es modelo de datos?
Es una coleccin de herramientas conceptuales para describir los datos, lasrelaciones que existen entre ellos, semntica asociada a los datos y restricciones de
consistencia.
Los modelos de datos se dividen en tres grupos:
Modelos lgicos basados en objetos.Modelos lgicos basados en registros.Modelos fsicos de datos.
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
8/74
MODULOBASEDEDATOS Pag.8
Modelos lgicos basados en objetos.
Se usan para describir datos en los niveles conceptual y de visin, es decir, coneste modelo representamos los datos de tal forma como nosotros los captamos en elmundo real, tienen una capacidad de estructuracin bastante flexible y permiten
especificar restricciones de datos explcitamente. Existen diferentes modelos de estetipo, pero el ms utilizado por su sencillez y eficiencia es el modelo Entidad-Relacin.
* Modelo Entidad-Relacin.
Denominado por sus siglas como: E-R;Estemodelo representa a la realidad a travsde entidades, que son objetos que existen y que se distinguen de otros por suscaractersticas, por ejemplo: un alumno se distingue de otro por sus caractersticas
particulares como lo es el nombre, o el numero de control asignado al entrar a unainstitucin educativa, as mismo, un empleado, una materia, etc. Las entidadespueden ser de dos tipos:
Tangibles :Son todos aquellos objetos fsicos que podemos ver, tocar o sentir.
Intangibles:Todos aquellos eventos u objetos conceptuales que no podemos ver, aunsabiendo que existen, por ejemplo: la entidad materia, sabemos queexiste, sin embargo, no la podemos visualizar o tocar.
Las caractersticas de las entidades en base de datos se llaman atributos, porejemplo el nombre, direccin telfono, grado, grupo, etc. son atributos de la entidadalumno; Clave, nmero de seguro social, departamento, etc., son atributos de laentidad empleado. A su vez una entidad se puede asociar o relacionar con msentidades a travs de relaciones.
Pero para entender mejor esto, veamos un ejemplo:
Consideremos una empresa que requiere controlar a los vendedores y las ventas
que ellos realizan; de este problema determinamos que los objetos o entidadesprincipales a estudiar son el empleado (vendedor) y el artculo (que es el producto enventa), y las caractersticas que los identifican son:
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
9/74
MODULOBASEDEDATOS Pag.9
Empleado: Artculo:
Nombre DescripcinPuesto CostoSalario Clave
R.F.C.
La relacin entre ambas entidades la podemos establecer como Venta.
Bueno, ahora nos falta describir como se representa un modelo E-R grficamente,la representacin es muy sencilla, se emplean smbolos, los cuales son:
Smbolo Representa
As nuestro ejemplo anterior quedara representado de la siguiente forma:
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
10/74
-
8/7/2019 modulo base de datos
11/74
MODULOBASEDEDATOS Pag.11
Ahora te preguntaras cmo se representan las relaciones entre las entidades eneste modelo?
Existen dos formas de representarla; pero para ello necesitamos definir que es unallave primaria: Es un atributo el cual definimos como atributo principal, es una
forma nica de identificar a una entidad. Por ejemplo, el RFC de un empleado sedistingue de otro por que los RFC no pueden ser iguales.
Ahora si, las formas de representar las relaciones en este modelo son:
1. Haciendo una tabla que contenga cada una de las llaves primarias de lasentidades involucradas en la relacin.
Tomando en cuenta que la llave primaria del empleado es su RFC, y la llaveprimaria del articulo es la Clave.
2. Incluyendo en alguna de las tablas de las entidades involucradas, la llave de laotra tabla
* Modelo de red.
Este modelo representa los datos mediante colecciones de registros y susrelaciones se representan por medio de ligas o enlaces, los cuales pueden verse comopunteros. Los registros se organizan en un conjunto de grficas arbitrarias.
Ejemplo:
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
12/74
MODULOBASEDEDATOS Pag.12
Para profundizar en este tema visitemos: Modelo de datos de red.
* Modelo jerrquico.
Es similar al modelo de red en cuanto a las relaciones y datos, ya que estos se
representan por medio de registros y sus ligas. La diferencia radica en que estnorganizados por conjuntos de arboles en lugar de grficas arbitrarias.
Para profundizar ms en el tema visita: Modelo de datos jerrquico.
Modelos fsicos de datos.
Se usan para describir a los datos en el nivel ms bajo, aunque existenmuy pocos modelos de este tipo, bsicamente capturan aspectos de laimplementacin de los sistemas de base de datos. Existen dos clasificacionesde este tipo que son:
Modelo unificador. Memoria de elementos.
1.5 Instancias y esquemas.
Con el paso del tiempo la informacin que se va acumulando y desechando en labase de datos, ocasiona que est cambie.
Denominamos:
Instancia.
Al estado que presenta una base de datos en un tiempo dado. Vemoslo como unafotografa que tomamos de la base de datos en un tiempo t, despus de quetranscurre el tiempo t la base de datos ya no es la misma.
Esquema.
Es la descripcin lgica de la base de datos, proporciona los nombres de lasentidades y sus atributos especificando las relaciones que existen entre ellos. Es unbanco en el que se inscriben los valores que irn formando cada uno de los atributos.El esquema no cambia los que varan son los datos y con esto tenemos una nuevainstancia.
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
http://c/Program%20Files/WebCopier/Download/tema5_1.htmhttp://c/Program%20Files/WebCopier/Download/tema6_1.htmhttp://c/Program%20Files/WebCopier/Download/tema6_1.htmhttp://c/Program%20Files/WebCopier/Download/tema5_1.htm -
8/7/2019 modulo base de datos
13/74
MODULOBASEDEDATOS Pag.13
Ejemplo:
Considerando el ejemplo del vendedor que vende artculos, esquema e instanciasegn nuestro ejemplo, quedara:
Esquema:
{ Vendedor : Nombre, puesto, salario, RFC }
{ Articulo : Clave, costo, descripcin }
Instancia:
Como podemos observar el esquema nos muestra la estructura en el cual se
almacenaran los datos, en este caso en registros cuyos nombres de campos son: porparte del vendedor (Nombre, puesto,salario, RFC) y por el artculo (Clave,costo,descripcin); La instancia representa a una serie de datos almacenados en losregistros establecidos por el esquema, estos datos varan, no permanecen fijos en eltiempo.
1.6 Independencia de los datos
Se refiere a la proteccin contra los programas de aplicacin que puedan originar
modificaciones cuando se altera la organizacin fsica o lgica de la base de datos.Existen 2 niveles de independencia de datos.
Independencia fsica de datos:Es la capacidad de modificar el esquema fsico sin provocar que se vuelvan a
escribir los programas de aplicacin.
Independencia lgica de datos:Capacidad de modificar el esquema conceptual sin provocar que se vuelvan a
escribir los programas de aplicacin.
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
14/74
-
8/7/2019 modulo base de datos
15/74
MODULOBASEDEDATOS Pag.15
Respaldo y recuperacin.Consiste en contar con mecanismos implantados que permitan larecuperacin fcilmente de los datos en caso de ocurrir fallas en el sistemade base de datos.
Control de concurrencia.Consiste en controlar la interaccin entre los usuariosconcurrentes para no afectar la inconsistencia de los datos.
Seguridad e integridad.Consiste en contar con mecanismos que permitan elcontrol de la consistencia de los datos evitando que estosse vean perjudicados por cambios no autorizados o previstos.
El DBMS es conocido tambin como Gestor de Base de datos.
La figura muestra el DBMS como interfase entre la base de datos fsica y laspeticiones del usuario. El DBMS interpreta las peticiones de entrada/salida delusuario y las manda al sistema operativo para la transferencia de datos entre launidad de memoria secundaria y la memoria principal.
En s, un sistema manejador de base de datos es el corazn de la base de datos yaque se encarga del control total de los posibles aspectos que la puedan afectar.
1.10 Administrador de Bases de Datos
Denominado por sus siglas como: DBA, Database Administrator.
Es la persona encargada y que tiene el control total sobre el sistema de base dedatos, sus funciones principales son:
Definicin de esquema.Es el esquema original de la base de datos se crea escribiendo un conjunto dedefiniciones que son traducidas por el compilador de DDL a un conjunto detablas que son almacenadas permanentemente en el diccionario de datos.
Definicin de la estructura de almacenamiento del mtodo de acceso.Estructuras de almacenamiento y de acceso adecuados se crean escribiendo un
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
16/74
MODULOBASEDEDATOS Pag.16
conjunto de definiciones que son traducidas por e compilador del lenguaje dealmacenamiento y definicin de datos.
Concesin de autorizacin para el acceso a los datos.Permite al administrador de la base de datos regular las partes de las bases dedatos que van a ser accedidas por varios usuarios.
Especificacin de lmitantes de integridad.Es una serie de restricciones que se encuentran almacenados en una estructuraespecial del sistema que es consultada por el gestor de base de datos cada vezque se realice una actualizacin al sistema.
1.11 Usuarios de las bases de datos.
Podemos definir a los usuarios como toda persona que tenga todo tipo de contactocon el sistema de base de datos desde que este se disea, elabora, termina y se usa.
Los usuarios que accesan una base de datos pueden clasificarse como:
Programadores de aplicaciones. Los profesionales en computacin queinteractan con el sistema por medio de llamadas en DML (Lenguaje deManipulacin de Datos), las cuales estn incorporadas en un programa escrito enun lenguaje de programacin (Por ejemplo, COBOL, PL/I, Pascal, C, etc.)
Usuarios sofisticados. Los usuarios sofisticados interactan con el sistema sinescribir programas. En cambio escriben sus preguntas en un lenguaje de consultasde base de datos.
Usuarios especializados. Algunos usuarios sofisticados escriben aplicaciones debase de datos especializadas que no encajan en el marco tradicional deprocesamiento de datos.
Usuarios ingenuos. Los usuarios no sofisticados interactan con el sistemainvocando a uno de los programas de aplicacin permanentes que se han escritoanteriormente en el sistema de base de datos, podemos mencionar al usuarioingenuo como el usuario final que utiliza el sistema de base de datos sin sabernada del diseo interno del mismo por ejemplo: un cajero.
1.12 Estructura general del sistema.
Un sistema de base de datos se encuentra dividido en mdulos cada uno de loscuales controla una parte de la responsabilidad total de sistema. En la mayora de loscasos, el sistema operativo proporciona nicamente los servicios ms bsicos y elsistema de la base de datos debe partir de esa base y controlar adems el manejocorrecto de los datos. As el diseo de un sistema de base de datos debe incluir lainterfaz entre el sistema de base de datos y el sistema operativo.
Los componentes funcionales de un sistema de base de datos, son:
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
17/74
MODULOBASEDEDATOS Pag.17
Gestor de archivos.Gestiona la asignacin de espacio en la memoria del disco y de las estructuras dedatos usadas para representar informacin.
Manejador de base de datos.Sirve de interfaz entre los datos y los programas de aplicacin.
Procesador de consultas.Traduce las proposiciones en lenguajes de consulta a instrucciones de bajo nivel.Adems convierte la solicitud del usuario en una forma ms eficiente.
Compilador de DDL.Convierte las proposiciones DDL en un conjunto de tablas que contienenmetadatos, estas se almacenan en el diccionario de datos.
Archivo de datos.En l se encuentran almacenados fsicamente los datos de una organizacin.
Diccionario de datos.Contiene la informacin referente a la estructura de la base de datos.
ndices.Permiten un rpido acceso a registros que contienen valores especficos. Unaforma grfica de representar los componentes antesmencionados y la relacin que existe entre ellos sera la siguiente.
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
18/74
MODULOBASEDEDATOS Pag.18
EVALUACIN:
1.Un campo (como nombre, direccin, telfono), de un registro, representa a: Una entidad ( ) Un atributo de una entidad ( ) Una relacin ( )
2.La abstraccin de la informacin se refiere a: Proporcionar a todos los usuarios de la base de datos la
informacin global de la misma ( ) Es una serie de datos en un instante de la base de datos ( ) Proporciona a cada usuario la vista de la informacin concernientea una base de datos segn su relacin con la misma ( )
3.Una instancia es: Una serie de informacin en un momento dado de la base de datos
( ) La informacin proporcionada al realizar una consulta a la base de
datos ( ) La estructura lgica de la base de datos ( )
4.El DDL es el lenguaje que nos permite: Realizar consultas, modificaciones y alteraciones a la informacin de la B.D (
) Establecer la integridad de la base de datos ( ) Definir la estructura conceptual y externa de los datos que contendr la B.D (
)
5.El manejador de Base de Datos (DBMS) Es la persona encargada del Sistema de Base de Datos ( ) Es el software que funciona como interfaz entre los programas de aplicacin
de base de datos y los usuarios ( ) Es un sistema operativo especial para base de datos ( )
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
19/74
MODULOBASEDEDATOS Pag.19
CAPITULO IIModelo Entidad-Relacin
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
20/74
MODULOBASEDEDATOS Pag.20
El modelo E-R se basa en una percepcin del mundo real, la cual esta formada por
objetos bsicos llamados entidades y las relaciones entre estos objetos as como lascaractersticas de estos objetos llamados atributos.
2.1 Entidades y conjunto de entidades
Una entidades un objeto que existe y se distingue de otros objetos de acuerdo asus caractersticas llamadas atributos . Las entidades pueden ser concretas como unapersona o abstractas como una fecha.
Un conjunto de entidades es un grupo de entidades del mismo tipo. Por ejemplo
el conjunto de entidades CUENTA, podra representar al conjunto de cuentas de unbanco X, o ALUMNO representa a un conjunto de entidades de todos los alumnosque existen en una institucin.
Una entidad se caracteriza y distingue de otra por los atributos, en ocasionesllamadas propiedades, que representan las caractersticas de una entidad. Losatributos de una entidad pueden tomar un conjunto de valores permitidos al que se leconoce como dominio del atributo. As cada entidad se describe por medio de unconjunto de parejas formadas por el atributo y el valor de dato. Habr una parejapara cada atributo del conjunto de entidades.
Ejemplo:Hacer una descripcin en pareja para la entidad alumno con los atributos
No_control, Nombre y Especialidad.
Nombre_atributo, Valor
No_control , 96310418
Nombre , Snchez Osuna Ana
Esp , LIO considerando el ejemplo del Vendedor cuyos aributos son: RFC, Nombre, Salario.
Nombre_atributo, Valor
RFC , COMD741101YHR
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
21/74
MODULOBASEDEDATOS Pag.21
Nombre , Daniel Coln Morales
Salario , 3000
2.2 Relaciones y conjunto de relaciones.
Unarelacin es la asociacin que existe entre dos a ms entidades.
Un conjunto de relaciones es un grupo de relaciones del mismo tipo.
La cantidad de entidades en una relacin determina el grado de la relacin, porejemplo la relacin ALUMNO-MATERIA es de grado 2, ya que intervienen laentidad ALUMNO y la entidad MATERIA, la relacin PADRES, puede ser degrado 3, ya que involucra las entidades PADRE, MADRE e HIJO.
Aunque el modelo E-R permite relaciones de cualquier grado, la mayora de lasaplicaciones del modelo slo consideran relaciones del grado 2. Cuando son de taltipo, se denominan relaciones binarias.
La funcin que tiene una relacin se llama papel, generalmente no se especificanlos papeles o roles, a menos que se quiera aclarar el significado de una relacin.
Diagrama E-R (sin considerar los atributos, slo las entidades) para los modelosejemplificados:
2.3 Limitantes de mapeo.
Existen 4 tipos de relaciones que pueden establecerse entre entidades, las cualesestablecen con cuantas entidades de tipo B se pueden relacionar una entidad de tipoA:
Tipos de relaciones:
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
22/74
MODULOBASEDEDATOS Pag.22
Relacin uno a uno. Se presenta cuando existe una relacin como su nombre loindica uno a uno, denominado tambin relacin de matrimonio. Una entidad deltipo A solo se puede relacionar con una entidad del tipo B, y viceversa;
Por ejemplo: la relacin asignacin de automvil que contiene a las entidades
EMPLEADO, AUTO, es una relacin 1 a 1, ya que asocia a un empleado con unnico automvil por lo tanto ningn empleado posee ms de un automvil asignado,y ningn vehculo se asigna a ms de un trabajador.
Es representado grficamente de la siguiente manera:
A: Representa a una entidad de cualquier tipo diferente a una entidad B.R: en el diagrama representa a la relacin que existe entre las entidades.El extremo de la flecha que se encuentra punteada indica el uno de la relacin, eneste caso, una entidad A ligada a una entidad B.
Relacin uno a muchos. Significa que una entidad del tipo A puede relacionarsecon cualquier cantidad de entidades del tipo B, y una entidad del tipo B solopuede estar relacionada con una entidad del tipo A.
Su representacin grfica es la siguiente:
Ntese en este caso que el extremo punteado de la flecha de la relacin de A y B,indica una entidad A conectada a muchas entidades B.
Muchos a uno. Indica que una entidad del tipo B puede relacionarse concualquier cantidad de entidades del tipo A, mientras que cada entidad del tipo Asolo puede relacionarse con solo una entidad del tipo B.
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
23/74
MODULOBASEDEDATOS Pag.23
A los tipos de relaciones antes descritos, tambin se le conoce como cardinalidad.
La cardinalidad nos especifica los tipos de relaciones que existen entre lasentidades en el modelo E-R y establecer con esto las validaciones necesarias paraconseguir que los datos de la instancia (valor nico en un momento dado de una
base de datos) correspondan con la realidad.
Algunos ejemplos de cardinalidades de la vida comn pueden ser:
Uno a uno.
El noviazgo, el RFC de cada persona, El CURP personal, El acta de nacimiento,ya que solo existe un solo documento de este tipo para cada una de las diferentespersonas.
Uno a muchos.
Cliente Cuenta en un banco, Padre-Hijos, Camin-Pasajeros, zoologico-animales, rbol hojas.
Muchos a muchos.
Arquitecto proyectos, fiesta personas, estudiante materias.
NOTA:Cabe mencionar que la cardinalidad para cada conjunto de entidades depende del
punto de vista que se le de al modelo en estudio, claro esta, sujetndose a la realidad.
Otra clase de limitantes lo constituye la dependencia de existencia.Refirindonos a las mismas entidades A y B, decimos que si la entidad A dependede la existencia de la entidad B, entonces A es dependiente de existencia por B, sieliminamos a B tendramos que eliminar por consecuente la entidad A, en este casoB es la entidad Dominante y A es la entidad subordinada.
2.4 Llaves primarias.
Como ya se ha mencionado anteriormente, la distincin de una entidad entre otrase debe a sus atributos, lo cual lo hacen nico. Una llave primaria es aquel atributoel cual consideramos clave para la identificacin de los dems atributos quedescriben a la entidad. Por ejemplo, si consideramos la entidad ALUMNO delInstituto Tecnolgico de La Paz, podramos tener los siguientes atributos: Nombre,Semestre, Especialidad, Direccin, Telfono, Nmero de control, de todos estosatributos el que podremos designar como llave primaria es el nmero de control, yaque es diferente para cada alumno y este nos identifica en la institucin.
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
24/74
MODULOBASEDEDATOS Pag.24
Claro que puede haber ms de un atributo que pueda identificarse como llaveprimaria en este caso se selecciona la que consideremos ms importante, los demsatributos son denominados llaves secundarias.
Una clave o llave primaria es indicada grficamente en el modelo E-R con una
lnea debajo del nombre del atributo.
2.5 Diagrama Entidad-Relacin
Denominado por sus siglas como: E-R; Este modelo representa a la realidad atravs de un esquema grfico empleando los terminologa de entidades, que sonobjetos que existen y son los elementos principales que se identifican en elproblema a resolver con el diagramado y se distinguen de otros por suscaractersticas particulares denominadas atributos, el enlace que que rige la uninde las entidades esta representada por la relacin del modelo.
Recordemos que un rectngulo nos representa a las entidades; una elipse a losatributos de las entidades, y una etiqueta dentro de un rombo nos indica la relacinque existe entre las entidades, destacando con lneas las uniones de estas y que lallave primaria de una entidad es aquel atributo que se encuentra subrayado.
A continuacin mostraremos algunos ejemplos de modelos E-R, considerando lascardinalidades que existen entre ellos:
Relacin Uno a Uno.
Problema:
Disear el modelo E-R, para la relacin Registro de automvil que consiste enobtener la tarjeta de circulacin de un automvil con los siguientes datos:-Automvil- Modelo, Placas, Color - Tarjeta de circulacin -Propietario, No_serie,Tipo.
Indicamos con este ejemplo que existe una relacin de pertenencia de uno a uno, yaque existe una tarjeta de circulacin registrada por cada automvil.
En este ejemplo, representamos que existe un solo presidente para cada pas.
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
25/74
MODULOBASEDEDATOS Pag.25
Relacin muchos a muchos.
El siguiente ejemplo indica que un cliente puede tener muchas cuentas, pero queuna cuenta puede llegar a pertenecer a un solo cliente (Decimos puede, ya queexisten cuentas registradas a favor de ms de una persona).
2.6 Reduccin de diagramas E-R a tablas
Un diagrama E-R, puede ser representado tambin a travs de una coleccin detablas. Para cada una de las entidades y relaciones existe una tabla nica a la que sele asigna como nombre el del conjunto de entidades y de las relacionesrespectivamente, cada tabla tiene un nmero de columnas que son definidas por lacantidad de atributos y las cuales tienen el nombre del atributo.
La transformacin de nuestro ejemplo Venta en la que intervienen las entidadesde Vendedor con los atributos RFC, nombre, puesto, salario y Artculo con losatributos Clave, descripcin, costo.
Cuyo diagrama E-R es el siguiente:
Entonces las tablas resultantes siguiendo la descripcin anterior son:
Tabla Empleado
Nombre Puesto Salario RFC
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
26/74
MODULOBASEDEDATOS Pag.26
Tefilo Vendedor 2000 TEAT701210XYZ
Auxiliarventas
Cesar 1200 COV741120ABC
Tabla artculo
Clave Descripcin Costo
A100 Abanico 460
Colchamatrimonial
C260 1200
Tabla Venta
RFC ClaveTEAT701210XYZ C260
COV741120ABC A100
Ntese que en la tabla de relacin - Venta -, contiene como atributos a las llavesprimarias de las entidades que intervienen en dicha relacin, en caso de que existaun atributo en las relaciones, este atributo es anexado como una fila ms de la tabla;
Por ejemplo si anexamos el atributo fecha a la relacin venta, la tabla que seoriginaria sera la siguiente:
RFC Clave Fecha
TEAT701210XYZ C260 10/12/96
COV741120ABC A100 11/12/96
2.7 Generalizacin y especializacin
Generalizacin.
Es el resultado de la unin de 2 o ms conjuntos de entidades (de bajo nivel) paraproducir un conjunto de entidades de ms alto nivel. La generalizacin se usa parahacer resaltar los parecidos entre tipos de entidades de nivel ms bajo y ocultar susdiferencias.
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
27/74
MODULOBASEDEDATOS Pag.27
La generalizacin consiste en identificar todos aquellos atributos iguales de unconjunto de entidades para formar una entidad(es) global(es) con dichos atributossemejantes, dicha entidad(es) global(es) quedara a un nivel ms alto al de lasentidades origen.
Ejemplo:Tomando el ejemplo del libro de fundamentos de base de datos de Henry F.
Korth.
Donde:Se tiene las entidades Cta_Ahorro y Cta_Cheques, ambas tienen los atributos
semejantes de No_Cta y Saldo, aunque adems de estos dos atributos, Cta_Ahorrotiene el atributo Tasa_Interes y Cta_Cheques el atributo Saldo_Deudor. De todosestos atributos podemos juntar (generalizar) No_Cta y Saldo que son iguales en
ambas entidades.
Entonces tenemos:
Podemos leer esta grfica como: La entidad Cta_Ahorro hereda de la entidadCUENTA los atributos No_Cta y saldo, adems del atributo de TasaInteres, deforma semejante Cta_cheque tiene los atributos de No_Cta, Saldo y SaldoDeudor.
Como podemos observar la Generalizacin trata de eliminar la redundancia(repeticin) de atributos, al englobar los atributos semejantes. La entidad(es) de bajonivel cuentan (heredan) todos los atributos correspondientes.
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
28/74
MODULOBASEDEDATOS Pag.28
Especializacin:
Eselresultadodetomarunsubconjuntodeentidadesdealtonivelparaformarunconjuntodeentidadesdemsbajonivel.*Enlageneralizacincadaentidaddealtoniveldebesertambinunaentidaddebajonivel.Laespecializacinnotieneestelimitante.*serepresentapormediodeuntringulodenominadoconlaetiqueta"ISA",sedistinguedela
generalizacinporelgrosordelaslneasqueconectanaltringuloconlasentidades.*Laespecializacindenotaladiferenciaentrelosconjuntosdeentidadesdealtoybajonivel.
2.8 Agregacin.
La agregacin surge de la limitacin que existe en el modelado de E-R, al no
permitir expresar las relaciones entre relaciones de un modelo E-R en el caso de queuna relacin X se quiera unir con una entidad cualquiera para formar otra relacin.
La Generalizacin consiste en agrupar por medio de un rectngulo a la relacin(representada por un rombo) junto con las entidades y atributos involucrados en ella,para formar un grupo que es considerado una entidad y ahora s podemosrelacionarla con otra entidad.
Para ejemplificar lo anterior consideremos el ejemplo del libro de fundamentos deBase de Datos de Henry F. Korth. En donde el problema consiste en que existen
trabajando muchos empleados que trabajan en diferentes proyectos, perodependiendo del trabajo que realiza en pueden llegar a utilizar un equipo omaquinaria; en este problema intervienen 3 entidades: Empleado, Proyecto yMaquinaria, el diagrama E-R correspondiente es:
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
29/74
MODULOBASEDEDATOS Pag.29
Como el modelo E-R no permite la unin entre dos o ms relaciones, la relacintrabajo es englobada como si fuera una entidad ms de la relacin usa, grficamentequeda como:
Ahora podemos decir que la entidad trabajo se relaciona con la entidad maquinaria atravs de la relacin usar. Para indicarnos que un trabajo usa un determinado equipoo maquinaria segn el tipo de trabajo que se trate.
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
30/74
MODULOBASEDEDATOS Pag.30
EVALUACIN:
1.Las entidades en el modelo E R representan a: Los elementos principales que interviene en el problema a modelar ( ) Las caractersticas que identifican a los elementos que intervienen en el
problema ( ) El enlace entre los elementos que interviene en el modelo ( )2.Las limitantes del mapeo nos definen:
El tipo de relacin o cardinalidad que se presenta en el modelo E R ( ) Las restricciones de los valores que pueden tomar las entidades ( ) Define el dominio de los atributos ( )3. Una llave primaria es: El atributo de una entidad que se considera como
principal y que identifica a dicha entidad entre otras ( ) Cualquier atributo de una entidad ( ) Es el atributo de la relacin ( )4. La transformacin de un diagrama E R a
tablas es un proceso sencillo que involucra: Generar tantas tablas como relaciones se tenga en
el diagrama considerando sus atributos como las columnas de las mismas ( ) Generar una tabla por cada entidad y relacin que
exista en el diagrama tomando los atributos de cada una de ellas comocolumnas de las mismas ( )
Crear una tabla por cada entidad tomando sucampo llave para generar un ndice para acceder a los datos ( )
5. La generalizacin consiste en: Englobar un conjunto de entidades para formar una
entidad global ( )
Dividir una entidad global en atributos individuales( )
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
31/74
MODULOBASEDEDATOS Pag.31
Identificar a aquellos atributos iguales de unconjunto de entidades para formar una entidad global de alto nivel a la cualhacen referencia las dems entidades ( )
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
32/74
MODULOBASEDEDATOS Pag.32
CAPITULO IIIModelo Relacional
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
33/74
MODULOBASEDEDATOS Pag.33
La ventaja del modelo relacional es que los datos se almacenan, al menosconceptualmente, de un modo en que los usuarios entienden con mayor facilidad.Los datos se almacenan como tablas y las relaciones entre las filas y las tablas son
visibles en los datos. Este enfoque permite a los usuarios obtener informacin de labase de datos sin asistencia de sistemas profesionales de administracin deinformacin.
Las caractersticas ms importantes de los modelos relacionales son:
a. Es importante saber que las entradas en la tabla tienen un solo valor (sonatmicos); no se admiten valores mltiples, por lo tanto la interseccin de unrengln con una columna tiene un solo valor, nunca un conjunto de valores.
b. Todas las entradas de cualquier columna son de un solo tipo. Por ejemplo,una columna puede contener nombres de clientes, y en otra puede tenerfechas de nacimiento. Cada columna posee un nombre nico, el orden de lascomunas no es de importancia para la tabla, las columnas de una tabla seconocen como atributos. Cada atributo tiene un dominio, que es unadescripcin fsica y lgica de valores permitidos.
c. No existen 2 filas en la tabla que sean idnticas.d. La informacin en las bases de datos son representados como datos
explcitos, no existen apuntadores o ligas entre las tablas.
En el enfoque relacional es sustancialmente distinto de otros enfoques entrminos de sus estructuras lgicas y del modo de las operaciones de entrada/salida.En el enfoque relacional, los datos se organizan en tablas llamadas relaciones, cadauna de las cuales se implanta como un archivo. En terminologa relacional una filaen una relacin representa un registro o una entidad; Cada columna en una relacinrepresenta un campo o un atributo.
As, una relacin se compone de una coleccin de entidades(o registros) cuyospropietarios estn descritos por cierto nmero de atributos predeterminadosimplantados como campos.
3.1 Estructura de las bases de datos relacionales
La arquitectura relacional se puede expresar en trminos de tres niveles deabstraccin: nivel interno, conceptual y de visin.
La arquitectura relacional consta de los siguientes componentes:
1. Modelo relacional de datos:FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
34/74
MODULOBASEDEDATOS Pag.34
En el nivel conceptual, el modelo relacional de datos est representado poruna coleccin de relaciones almacenadas. Cada registro de tipo conceptual enun modelo relacional de datos se implanta como un archivo almacenadodistinto.
2. Submodelo de datos:Los esquemas externos de un sistema relacional se llaman submodelos
relacionales de datos; cada uno consta de uno a ms escenarios (vistas) paradescribir los datos requeridos por una aplicacin dada. Un escenario puedeincluir datos de una o ms tablas de datos. Cada programa de aplicacin estprovisto de un buffer ("Area de trabajo de usuario") donde el DBMS puededepositar los datos recuperados de la base para su procesamiento, o puedeguardar temporalmente sus salidas antes de que el DBMS las escriba en labase de datos.
3. Esquema de almacenamiento:En el nivel interno, cada tabla base se implanta como un archivo
almacenado. Para las recuperaciones sobre las claves principal o secundariase pueden establecer uno o ms ndices para accesar un archivo almacenado.
4. Sublenguaje de datos:Es un lenguaje de manejo de datos para el sistema relacional, el lgebra
relacional y clculo relacional, ambos lenguajes son "relacionalmente
completos", esto es, cualquier relacin que pueda derivarse de una o mstablas de datos, tambin se puede derivar con u solo comando delsublenguaje. Por tanto, el modo de operacin de entrada/Salida en un sistemarelacional se puede procesar en la forma: una tabla a la vez en lugar de: unregistro a la vez; en otras palabras, se puede recuperar una tabla en vez de unsolo registro con la ejecucin de un comando del sublenguaje de datos.
3.2 Lenguajes de consulta formales.
Los lenguajes de consultas:
Son los lenguajes en el que los usuarios solicitan informacin de la base dedatos. Estos lenguajes son generalmente de ms alto nivel que los lenguajes deprogramacin. Los lenguajes de consulta pueden clasificarse comorocedimentales y no procedimentales;
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
35/74
MODULOBASEDEDATOS Pag.35
En el lenguaje del tipo procedimental el usuario da las instrucciones alsistema para que realice una secuencia de operaciones en la base de datos paracalcular el resultado deseado.
En el lenguaje no procedimental, el usuario describe la informacin deseada
sin dar un procedimiento especfico para obtener dicha informacin.
El lgebra relacional es un lenguaje de consulta formal procedimental, ellgebra relacional define operadores que funcionan sobre las tablas (de unamanera similar a los operadores +,-,etc. del lgebra comn ) para llegar alresultado deseado. El lgebra relacional es difcil de utilizar, debido en parte aque es procedimental, esto es, al utilizar el lgebra relacional no slo debemossaber lo que queremos, tambin cmo obtenerlo.
En el proceso de bases de datos comerciales el lgebra relacional se utiliza de
manera poco frecuente. Aunque unos cuantos productos exitosos DBMS stienen opciones del lgebra relacional, stas son poco utilizadas en vista de sucomplejidad.
El lgebra relacional toma dos o ms tablas como entrada produce una nuevatabla como resultado de la serie de operaciones. Las operaciones fundamentalesen el lgebra relacional son seleccionar, proyectar, producto cartesiano,renombrar, unin y diferencia de conjuntos. Adems de las operacionesfundamentales existen otras operaciones como son: interseccin de conjuntos,roducto natural, divisin y asignacin.
** Operaciones fundamentales **Las operaciones seleccionar, proyectar y renombrar, son denominadas
operaciones unitarias ya que operan sobre una tabla. Las otras operacionesoperan sobre pares de relaciones y, por tanto se llaman operaciones binarias.
* La operacin seleccionar.
Esta operacin selecciona tuplas (filas) que satisfacen unainstruccin(condicin) dada de una tabla. Se representa por medio de parntesis.
(nombre_tabla WHERE condicin);
La oracin de la instruccin despus de la clusula WHERE puede incluircondiciones de igualdad como =,=,,>=,
-
8/7/2019 modulo base de datos
36/74
MODULOBASEDEDATOS Pag.36
* La operacin Proyectar.
Consiste en identificar las columnas (atributos en el modelo E-R) que nos
interesa conocer. Se representa por medio de corchetes. Si este se omite indicaraque se desea obtener todas las columnas de la tabla en cuestin.
(nombre_tabla WHERE condicin) [Nombre_atributo];
* La operacin Producto cartesiano.
Consiste en multiplicar todas las tuplas entre tablas, obteniendo comoresultado una tabla que contiene todas las columnas de ambas tablas. Seespecifica con la orden TIMES.
Nombre_tabla TIMES Nombre_tabla;
* La operacin Join.
Consiste en obtener el producto (multiplicacin) de todas las tuplas de unatabla con las de la otra, para posteriormente evaluar aquellas cuyo campo encomn sea igual generando como resultado una nueva tabla que tiene comotuplas (renglones) que cumplen con la condicin establecida. Se representa conla orden JOIN.
La orden Join es colocada entre las dos tablas a multiplicar despus de que laprimera especifica la operacin de seleccin y proyeccin.
(Tabla)[atributo] JOIN (Tabla)[Atributo];
* La operacin Divide.
Toma dos relaciones, una binaria y la otra unaria, construye una relacinformada por todos los valores de un atributo de la relacin binaria queconcuerdan (en el otro atributo) con todos los valores de la relacin unaria. Se
representa con la orden DIVIDEBY.NomTablaBin DIVIDEBY NomTablaUna
* La operacin Diferencia.
Construye una relacin formada por todas las tuplas (filas) de la primerarelacin que no aparezcan en la segunda de las dos relaciones especificadas. Se
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
37/74
MODULOBASEDEDATOS Pag.37
representa con la orden MINUS.
Nom_tablaA MINUS NomTablaB;
* La operacin Unin.
Construye una relacin formada por todas las tuplas de la primera relacin ytodas las tuplas de la segunda relacin. El requisito es que ambas relacionessean del mismo tipo.
Nom_TablaA UNION Nom_tablaB
* La operacin interseccin.
Construye una nueva tabla compuesta por todas las tuplas que estn en laprimera y segunda tabla.
Nom_TablaA INTERSEC Nom_tablaB
Ejemplos:
Para ejemplificar las notaciones anteriores consideremos el ejemploALUMNO - cursa - MATERIA, que tienen los siguientes atributos:NControl NControl ClaveNombreA Clave NombreMEspecialidad Calif Crditos
Direccin
Representando en tablas a los atributos quedaran de la siguiente forma:
Tabla alumno:
NControl NombreA Especialidad Direccin
Tabla cursa:
NControl Clave Calif
Tabla materia:
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
38/74
MODULOBASEDEDATOS Pag.38
Clave NombreM Crditos
1.- Obtener el nombre de todos los alumnos que estn inscritos en la Institucin.
(Alumno) [NombreA];
2.- Obtener el nombre de los alumnos que cursan la materia Base de datos 1cuya clave es SCB9333
(Alumno) JOIN (Cursa where Clave='SCB9333') [NombreA];
3.- Obtener los nombres de los alumnos de la especialidad de Ing. Sistemas que
cursan la materia Base de datos 2.
((Alumno)[especialidad,NombreA,NControl]JOIN (Cursa) where especialidad = 'ISC')[Clave,NombreA])JOIN (Materia where NombreM='BD2')[NombreA];
En el lgebra relacional no solo debemos saber lo que queremos si notambin como obtenerlo, al realizar las consultas debemos especificar elnombre de la tabla a utilizar en caso de que deseemos realizar una operacincon un atributo que las otras tablas no tienen debemos "arrastrar" dicho atributo
para poder utilizarlo, como lo es en el caso anterior, en donde requerimos elnombre del alumno que solamente lo tiene la tabla alumno, pro tambindeseamos que se cumpla la condicin NombreM=BD2, como no podemosrelacionar directamente a ambas tablas empleamos la tabla cursa de dondeobtenemos la clave de las materias y mantenemos el nombre del alumno(NombreA) finalmente con la orden JOIN se combinan las tablas por el campocomn que tienen que es clave as que obtenemos una tabla con todas lasmaterias que cursan los alumnos de ISC, de donde seleccionamos solo aquellaque se llame BD2 con la orden Join obtenemos esta nueva tabla de donde porltimo proyectamos el atributo NombreA que hemos venido "arrastrando".
Ejercicios propuestos:
Considere el modelo E-R del caso Mdico - atiende - Paciente.
Realizar:
* La conversin a tablas del modelo E-R.
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
39/74
MODULOBASEDEDATOS Pag.39
* Las siguientes consultas en lgebra relacional.
1.- Obtener el nombre de Todos los mdicos.
2.- Obtener el nombre de todos los pacientes > de 18 aos.
3.- Obtener todos los datos de todos los pacientes.
4.- Obtener losnombres de todos los pacientes que consultan con el mdico concdula profesional ABC001.
5.- Obtener los nombres de los mdicos que atienden al paciente John Smith.
6.- Suponiendo que el hospital de la Ciudad de la Paz tiene una tabla depacientes similar a la del hospital de San Jos, obtener el nombre y la afiliacinde estos pacientes.
7.- Obtener las combinaciones de pacientes y mdicos exceptola de aquellosmdicos cuya especialidad sea Oftalmologa.
Recuerde que tenemos que indicar las tablas a utilizar entre parntesis y losatributos a proyectar entre corchetes, despus podemos utilizar las ordenesTimes, Join, Divide, Minus, Union, Intersec, segn sea el caso a resolver; sirequiere manipular atributos que no tengan las otras tablas "arrstrelos"proyectando siempre entre cada operacin dicho atributo. De cada operacin ocombinacin que realice entre las tablas se genera una tabla nueva que cumple
con las condiciones que establece.
(Ver Resultado1).
3.3 Lenguajes de consultas comerciales
Un lenguaje de consulta comercial proporciona una interfaz ms amigable alusuario. Un ejemplo de este tipo de lenguaje es el SQL, (Structured QueryLanguaje, Lenguaje de Consulta Estructurado).
Las partes ms importantes del SQL son:DDL: Lenguaje de definicin de datos (que nos permite crear las estructuras )
DML: Lenguaje de manipulacin de datos (que nos permite tener acceso a lasestructuras para suprimir, modificar e insertar)
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
40/74
MODULOBASEDEDATOS Pag.40
En este apartado estudiaremos la forma bsica para realizar consultas conSQL, en el apartado 3.4: Modificacin de la base de datos, estudiaremos loque concierne a la modificacin de las tablas.
La estructura bsica de una expresin en SQL contiene 3 partes, Select, From
y Where.
La clusula Select se usa para listar los atributos que se desean en el resultadode una consulta.
From, Lista las relaciones que se van a examinar en la evaluacin de laexpresin.
Where, es la definicin de las condiciones a las que puede estar sujeta unaconsulta.
La consulta tpica de SQL tiene la siguiente forma:
SelectA1,A2,A3...An
From r1,r2,r3...rm
Where Condicin(es)Donde:
A1,A2,A3...An: Representan a cada atributo(s) o campos de las
tablas de la base de datos relacional.R1,r2,r3...rm: Representan a la(s) tabla(s) involucradas en la consulta.Condicin: Es el enunciado que rige el resultado de la consulta.
Si se omite la clusula Where, la condicin es considerada como verdadera,la lista de atributos (A1,A2..An) puede sustituirse por un asterisco (*), paraseleccionar todos los atributos de todas las tablas que aparecen en la clusulaFrom.
Funcionamiento del SQL.
El SQL forma el producto cartesiano de las tablas involucradas en la clusulaFrom, cumpliendo con la condicin establecida en la orden Where y despusproyecta el resultado con la orden select.
Para nuestros ejemplos consideremos una tabla llamada CURSO, quecontiene los siguientes campos:
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
41/74
MODULOBASEDEDATOS Pag.41
Nombre del campo Descripcin
NumC Nmero del curso, nico para identificar cadacurso
NombreC Nombre del curso, tambin es nico
DescC Descripcin del curso
Creditos Crditos, nmero de estos que gana al estudianteal cursarlo
Costo Costo del curso.
Depto Departamento acadmico que ofrece el curso.
Datos contenidos en la tabla CURSO
NumC NombreC DescC Creditos
Costo Depto
A01 Liderazgo Para pblicoGeneral
10 100.00 Admn.
S01 Introduccin a lainteligencia artificial
Para ISC yLI
10 90.00 Sistemas.
C01 Construccin detorres
Para IC yArquitectura
8 0.00 Ciencias
B01 Situacinactual yperspectivas de laalimentacin y la
nutricin
Para IB 8 80.00 Bioqumica
E01 Historiapresente yfuturo dela energasolar
IE e II 10 100.00 Electromecnica.
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
42/74
MODULOBASEDEDATOS Pag.42
S02 Tecnologa OLAP
Para ISC yLI
8 100.00 Sistemas
C02 Tecnologadel concreto y
de lasEstructuras
Para IC 10 100.00 Ciencias
B02 Metabolismo delpidos enelcamarn
Para IB 10 0.00 Bioqumica
E02 Lossistemas
elctricosdepotencia
Para IE 10 100.00 Electromecnica
S03 Estructurade datos
Para ISC yLI
8 0.00 Sistemas
A01 Diseobioclimtico
ParaArquitectura
10 0.00 Arquitectura
C03 Matemticasdiscretas
General 8 0.00 Ciencias
S04 Circuitosdigitales
Para ISC 10 0.00 Sistemas
S05 Arquitectura deComputadoras
Para ISC 10 50.00 Sistemas
I01 Base deDatosRelacionales
Para ISC yLI 10 150.00 Informtica
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
43/74
MODULOBASEDEDATOS Pag.43
Ejemplos de consultas:
OBTENCIN DE UNA TABLA ENTERA
Obtener toda la informacin disponible sobre un curso donde Costo sea0.
SELECT *FROM CURSOWHERE Costo=0.00
Resultado de la consulta anterior.
NumC
NombreC
DescC Creditos Costo Depto
C01 Construccindetorres
Para ICyArquitectura
8 0.00 Ciencias
B02 Metabolismodelpidosen el
camarn
Para IB 10 0.00 Bioqumica
S03 Estructura dedatos
ParaISC yLI
8 0.00 Sistemas
A01 Diseobioclimtico
ParaArquitectura
10 0.00 Arquitectura
C03 Matem
ticasdiscretas
General 8 0.00 Ciencias
Colocamos un * debido a que no nos limitan la informacin de la tabla, esdecir nos piden que mostremos todos los datos atributo de la tabla CURSO.
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
44/74
MODULOBASEDEDATOS Pag.44
Como la nica condicin en la sentencia WHERE es que la tarifa del cursosea igual a 0, esta consulta regresa todas las tuplas donde se encuentre queCosto = 0.00.
Debido a que Costo es un campo numrico, la condicin solo puede
comparar con campos del mismo tipo. Para representar valores negativos seantepone a la izquierda el signo (-), en este ejemplo se considera solo el signo(=) para establecer la condicin, sin embargo otros operadores que se puedenutilizar son:
Menor que
Menor o igual que =
Diferente
Adems de los operadores booleanos AND, NOT, OR.
Cabe sealar que en la sentencia Where cuando se requiere establecercondiciones con cadenas, estas son delimitadas por apstrofos (). Lasexpresiones de cadenas son comparadas carcter por carcter, dos cadenas soniguales solo si coinciden todos los caracteres de las mismas.
Ejemplos de consultas con cadenas:
Obtener toda la informacin sobre cualquier curso que ofrezca eldepartamento de Ciencias.
SELECT *FROM CURSOWHERE Depto = 'Ciencias';
Resultado de la consulta.
NumC NombreC DescC Creditos
Costo
Depto
C01 Construccin de torres Para ICyArquitec
8 0.00 Ciencias
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
45/74
MODULOBASEDEDATOS Pag.45
tura
C02 Tecnologa del
concreto y de lasEstructuras
Para IC 10 100.
00
Ciencias
S04 Circuitos digitales Para ISC 10 0.00 Sistemas
VISUALIZACIN DE COLUMNAS ESPECIFICADAS.
En los ejemplos anteriores obtenamos toda la tabla completa, ahora veremoscomo mostrar solo algunos atributos especficos de una tabla.
Obtener los valores NumC,NombreC y Depto, en este orden de toda latabla curso.
SELECT NumC, NombreC, DeptoFROM CURSO;
Resultado de la consulta:
NumC NombreC Depto
A01 Liderazgo Admn.
S01 Introduccin a la inteligencia artificial Sistemas.
C01 Construccin de torres Ciencias
B01 Situacin actual y perspectivas de la alimentacin y lanutricin
Bioqumica
E01 Historia presente y futuro de la energa solar Electromecnica.
S02 Tecnologa OLAP Sistemas
C02 Tecnologa del concreto y de las Estructuras Ciencias
B02 Metabolismo de lpidos en el camarn Bioqumica
E02 Los sistemas elctricos de potencia Electromecnica
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
46/74
MODULOBASEDEDATOS Pag.46
S03 Estructura de datos Sistemas
A01 Diseo bioclimtico Arquitectura
C03 Matemticas discretas Ciencias
S04 Circuitos digitales Sistemas
S05 Arquitectura de Computadoras Sistemas
I01 Base de Datos Relacionales Informtica
Observamos que en este caso no se tiene la sentencia Where, no existecondicin, por lo tanto, todas las filas de la tabla CURSO se recuperan, perosolo se visualizaran las tres columnas especificadas.
As mismo, empleamos la (,) para separar los campos que deseamos visualizar.
VISUALIZACIN DE UN SUBCONJUNTO DE FILAS Y COLUMNAS
Seleccionar los valores NumC, Depto y Costo para todos los cursos quetengan un Costo inferior a $100
SELECT NumC, Depto, CostoFROM CURSOWHERE Costo < 100.00
Como resultado de esta consulta se obtendrn todas aquellas tuplas quetengan un costo en CTARIFA menor que 100, y se visualizaran solo los camposde NumC, Depto,Costo.
Podemos observar que este ejemplo cubre el formato general de una consultaSQL.
La palabra clave DISTINCT
DISTINCT, es una palabra reservada que elimina las filas que duplicadas enel resultado de una consulta.
Visualizar todos los departamentos acadmicos que ofrezcan cursos,rechazando los valores duplicados.
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
47/74
MODULOBASEDEDATOS Pag.47
SELECT DISTINCT DeptoFROM CURSO;
Resultado de la consulta
Depto
Administracin
Sistemas
Ciencias
Bioqumica
electromecnica
Arquitectura
Inform
tica
La palabra DISTINCT va estrictamente despus de la palabra SELECT.
De no haberse utilizado la palabra DISTINCT, el resultado hubiera mostradotodas las tuplas del atributo Depto que se encontraran, es decir, se hubieravisualizado la columna de Depto completamente.
EMPLEO DE LOS CONECTORES BOOLEANOS (AND, OR, NOT)
Para emplear las condiciones mltiples dentro de la sentencia WHERE,utilizamos los conectores lgicos.
El conector AND.
Este conector pide al sistema que seleccione una sola columna nicamente siambas condiciones se cumplen.
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
48/74
MODULOBASEDEDATOS Pag.48
Obtener toda la informacin sobre todos los cursos que ofrece eldepartamento Sistemas que tengan una tarifa igual a 0.
SELECT *FROM CURSO
WHERE Depto=Sistemas AND Costo=0.00;
El resultado de esta consulta sera todas aquellas tuplas que cumplanexactamente con las dos condiciones establecidas.
El conector OR.
Este conector al igual que el AND permite conectar condiciones mltiples enla sentencia WHERE, a diferencia del conector AND, el OR permite laseleccin de filas que cumplan con una sola de las condiciones establecidas a
travs de este conector. Obtener toda la informacin existente sobre cualquier curso ofrecido por
los departamentos Arquitectura o Bioqumica.
SELECT *FROM CURSOWHERE Depto = Arquitectura OR Depto= Bioqumica;
El resultado de esta consulta ser la de visualizar todas aquellas tuplas dondese cumpla cualquiera de las 2 condiciones, es decir mostrara todas las tuplas que
tengan en el atributo Depto=Arquitectura o Bioqumica.
El conector NOT
Este nos permite marcar aquellas tuplas que por alguna razn no deseamosvisualizar.
Obtener el nombre del curso y del departamento de todos los cursos queno sean ofrecidos por el departamento Sistemas.
SELECT NombreC, DeptoFROM CURSOWHERE NOT (Depto=Sistemas);
JERARQUIA DE OPERADORES BOOLEANOS.
En orden descendente (de mayor a menor prioridad)
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
49/74
MODULOBASEDEDATOS Pag.49
NOT
AND
OR
Existen dos formas para realizar consultas: Join de Querys y Subquerys.
Cuando en la sentencia From colocamos los nombres de las tablas separadospor comas se dice que efectuamos una consulta de la forma Join de Querys, eneste caso se requiere anteponer el nombre de la tabla y un punto al nombre delatributo. En el Join de Querys el resultado que se produce con las tablas queintervienen en la consulta es la concatenacin de las tablas, en donde los valoresde una columna de la primera tabla coinciden con los valores de una segundatabla, la tabla de resultado tiene una fila por cada valor coincidente que resulte
de las dos tablas originales.Para ejemplificar esto, consideremos 2 tablas: Tabla1 y Tabla2, entonces:
C1 C2 C3 CA CB
A AAA 10 35 R
B BBB 45 10 S
C CCC 55 65 T
D DDD 20 20 UE EEE 20 90 V
F FFF 90 90 W
G GGG 15 75 X
H HHH 90 90 Y
35 Z
Resultado de la operacin Join:
C1 C2 C3 CA CB
A AAA 10 10 S
D DDD 20 20 U
E EEE 20 20 U
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
50/74
MODULOBASEDEDATOS Pag.50
F FFF 90 90 V
F FFF 90 90 W
F FFF 90 90 Y
H HHH 90 90 VH HHH 90 90 W
H HHH 90 90 Y
Como podemos observar, la comparacin se efectu por las columnas C3 yCA, que son donde se encontraron valores iguales, el resultado muestra unatupla por cada coincidencia encontrada.
Cuando las consultas se anidan se conoce como Subquerys o subconsultas.
Este tipo de consulta obtiene resultados parciales reduciendo el espaciorequerido para realizar una consulta.
Nota: Todas las consultas que se resuelven con subquerys pueden resolversecon Join de Querys, pero no todas las consultas hechas con Join de Queryspueden resolverse utilizando Subquerys.
Para ejemplificar lo anterior consideremos el ejemplo
ALUMNO - cursa - MATERIA, que tienen los siguientes atributos:
NControl NControl ClaveNombreA Clave NombreMEspecialidad Calif CreditosDireccin
Representando en tablas a los atributos quedaran de la siguiente forma:
Tabla alumno:
NControl NombreA Especialidad Direccin
Tabla cursa:
NControl Clave Calif
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
51/74
MODULOBASEDEDATOS Pag.51
Tabla materia:
Clave NombreM Creditos
Obtener el nombre de la materia que cursa el alumno con nmero decontrol 97310211 con crditos igual a ocho.
SELECT NombreAFROM MateriaWHERE creditos=8 and clave in(SELECT clave
FROM cursaWHERE NControl=97310211;
Obtener el nmero de control del alumno que tenga alguna calificacinigual a 100
SELECT DISTINC(NControl)FROM CursaWHERE Calif=100;
Obtener el nombre de las materias que cursa el alumno Salvador Chvez.SELECT NombreMFROM Materia
WHERE Clave in (SELECT DISTINC (Clave)FROM CursaWHERE NControl in (SELECT NControl)
FROM AlumnoWHERE NombreA=Salvador
Chvez));
FUNCIONES AVANZADAS APLICABLES A CONSULTAS
Existen funciones que permiten la agilizacin de consultas similares a una
hoja de clculo, ya que trabajan en base a renglones y columnas.COUNT ( ): Cuenta el nmero de tuplas en la columna establecida
MIN ( ): Localiza el valor mnimo de la columna establecida
MAX ( ): Localiza el valor mximo de la columna establecida.
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
52/74
MODULOBASEDEDATOS Pag.52
AVG ( ): Obtiene el promedio de valores de la columna establecida
SUM ( ): Obtiene el valor total que implican los valores obtenidos en lacolumna establecida.
Ejemplos:
Obtener el nmero de alumnos que existen en la carrera de Ingeniera enSistemas Computacionales.
SELECT Count (*)FROM AlumnoWHERE especialidad=ISC;
Obtener la mximo calificacin que ha obtenido J.M. Cadena.SELECT Max(Calif)FROM CursaWHERE NControl IN (SELECT NControl
FROM AlumnoWHERE NombreA= J.M. Cadena );
Obtener el promedio de calificaciones de Salvador Chvez.SELECT Avg (Calif)FROM Cursa
WHERE NCotrol IN (SELECT NControlFROM AlumnoWHERE NombreA=Salvador Chvez);
Obtener la suma total de las calificaciones obtenidas por Daniel Coln.SELECT Sum (Calif)FROM CursaWHERE NControl IN (SELECT NControl
FROM Alumno
WHERE NombreA=Daniel Coln);Hasta aqu hemos visto el manejo sencillo de realizar consultas con SQL, hay
que destacar que en la realizacin de consultas anidadas se tiene que ponercuidando a la prioridad de los operadores, teniendo cuidado tambin almomento de agrupar los parntesis que involucran las condiciones con losoperadores.
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
53/74
MODULOBASEDEDATOS Pag.53
3.4 Modificacin de la Base de datos
Como se mencion al inicio de este apartado del SQL, est cuenta conmdulos DDL, para la definicin de datos que nos permite crear o modificar laestructura de las tablas.
Las instrucciones para realizar estas operaciones son:
CREATE TABLE: Nos permite crear una tabla de datos vaca.INSERT: Permite almacenar registros en una tabla creada.UPDATE: Permite modificar datos de registros almacenados en la tabla.DELETE: Borra un registro entero o grupo de registros de una tabla.CREATE INDEX: Crea un ndice que nos puede auxiliar para las consultas.DROP TABLE: Permite borrar una tabla.DROP INDEX: Borra el ndice indicado.
Para ejemplificar las instrucciones anteriores consideremos el ejemploALUMNO - cursa - MATERIA, que tienen los siguientes atributos:NControl NControl ClaveNombreA Clave NombreMEspecialidad Calif CreditosDireccin
* Estructura de la sentencia CREATE TABLE.
CREATE TABLE
(Atributo1: tipo de dato longitud ,Atributo2: tipo de dato longitud ,Atributo3: tipo de dato longitud ,::Atributon: tipo de dato longitud ,
PRIMARY KEY (Opcional) ) ;
Los campos pueden definirse como NOT NULL de manera opcional exceptoen la llave primaria para lo cual es obligatorio. Adems al definir la llaveprimaria se genera automticamente un ndice con respecto al campo llave; paradefinir la llave la denotamos dentro de los parntesis de PRIMARY KEY.
Ejemplo:
Crear la tabla alumno con los atributos antes descritos, tomando como llave el
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
54/74
MODULOBASEDEDATOS Pag.54
numero de control.
CREATE TABLE Alumno(NControl char(8) NOT NULL,
NombreA char(20),Especialidad char(3),Direccin char(30),PRIMARY KEY (NControl) );
Tabla Alumno:
NControl NombreA Especialidad Direccin
Pueden existir ms de una llave primaria, esto es si se requiere, se crearntantos ndices como llaves primarias se establezcan.
Pueden existir tantos campos Not Null (No nulos) como se requieran; En siestructurar la creacin de una tabla es siempre parecida al ejemplo anterior.
* Estructura de la sentencia INSERT
INSERTINTO Nombre de la tabla a la que se le va a insertar el registroVALUES (Conjunto de valores del registro ) ;
Ejemplo:
Insertar en la tabla Alumno, antes creada los datos del alumno Daniel coln,con numero de control 95310518 de la especialidad de Ingeniera civil, condomicilio Abasolo Norte #45.
INSERTINTO AlumnoVALUES("95310518","Daniel Coln","IC","Abasolo Norte #45") ;
Ntese que la insercin de los datos se realiza conforme la estructura que seimplanto en la tabla, es decir en el orden en que se creo dicha tabla. En caso dequerer omitir un dato que no sean no nulos solamente se ponen las comillasindicando el vaco de la cadena.
* Estructura de la Sentencia CREATE INDEX
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
55/74
MODULOBASEDEDATOS Pag.55
CREATE INDEX Nombre que se le asignara al ndice.ON Nombre de la taba a la cual se le creara el ndice (Campo(s) por el cual
se creara el ndice);
Ejemplo:
Crear un ndice de la tabla Alumno por el campo Especialidad.
CREATE INDEX Indice1ON Alumno(Especialidad);
Este ndice contendr a todos los alumnos ordenados por el campoespecialidad.
CREATE INDEX UNIQUE INDEX Indice2ON Alumno (Especialidad);
En la creacin de este ndice utilizamos la sentencia UNIQUE, es unindicador para permitir que se cree un ndice nico por especialidad, estasentencia siempre se coloca antes de CREATE INDEX. En este ejemplo secreara un ndice que contenga un alumno por especialidad existente.
* Estructura de la sentencia UPDATE
UPDATE Nombre de la tabla en donde se modificaran los datos.SET Valores
WHERE (Condicin);
Ejemplo:
Modificar el nmero de control del registro de Daniel Coln de la Tablaalumno por el nmero 96310518.
UPDATE AlumnoSET NControl 96310518WHERE NombreA=Daniel Coln;
* Estructura de la sentencia DROP TABLE
DROP TABLE Nombre de la tabla a borrar ;
Ejemplo:
Borrar la tabla Alumno creada anteriormente.
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
56/74
MODULOBASEDEDATOS Pag.56
DROP TABLE Alumno;
* Estructura de la sentencia DROP INDEX
DROP INDEX Nombre del ndice a borrar;
Ejemplo:
Borrar el ndice Indice1 creado anteriormente.
DROP INDEX Indice1;
* Estructura de la sentencia DELETE
DELETEFROM Nombre de la tablaWHERE Condicin;
Ejemplos:
- Borrar el registro cuyo nmero de control es 95310386.
DELETEFROM AlumnoWHERE Control=95310386;
- Borrar todos los registros de la tabla alumno.
DELETEFROM Alumno;
En el primer ejemplo, se borrara todo el registro(todos los datos), del alumnocon nmero de control = 95310386.
En el segundo ejemplo se borraran todos los registros de la tabla alumno,pero sin borrar la estructura de la tabla, ya que la orden Delete solo borra
registros, la sentencia Drop Table es la que borra toda la estructura de la tablaunto con los registros de la misma.
3.5 Vistas.
Una vista se define en SQL usando la orden CRETE VIEW. Para definir unavista debemos dar a la vista un nombre y declarar la consulta que calcula lavista. Una vez que establecemos una vista, podemos ejecutar una sentencia
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
57/74
MODULOBASEDEDATOS Pag.57
SELECT que referencie a esa vista. El sistema asociar la vista SQL con unatabla base y extraer y visualizar, entonces, los datos de la tabla base.
Esto significa que una vista no contiene datos duplicados de una tabla base.No tiene absolutamente ningn dato, puesto que no es una tabla real, todo el
proceso se realiza con los datos almacenados en la tabla base. Es decir sepercibe como una tabla virtual.
Las ordenes que se utilizan para la manipulacin de vistas son:
CREATE VIEW: Crea una tabla virtual.DROP VIEW: Elimina una vista creada anteriormente.
Estructura de la sentencia CREATE VIEW.
CREATE VIEW Nombre de la vista AS (Expresin de consulta);
Para nuestros ejemplos consideremos de nuevo la tabla llamada CURSO, quecontiene los siguientes campos:
Nombre del campo Descripcin
NumC Nmero del curso, nico para identificar cadacurso
NombreC Nombre del curso, tambin es nico
DescC Descripcin del cursoCreditos Crditos, nmero de estos que gana al estudiante
al cursarlo
Costo Costo del curso.
Depto Departamento acadmico que ofrece el curso.
Que contiene los siguientes datos:
NumC NombreC DescC Creditos Costo DeptoA01 Liderazgo Para
pblicoGeneral
10 100.00
Admn.
S01 Introduccin a lainteligencia
Para ISC yLI
10 90.00 Sistemas.
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
58/74
MODULOBASEDEDATOS Pag.58
artificial
C01 Construccin detorres
Para IC yArquitectura
8 0.00 Ciencias
B01 Situacin actualy perspectivas dela alimentacin yla nutricin
Para IB 8 80.00 Bioqumica
E01 Historia presentey futuro de laenerga solar
IE e II 10 100.00
Electromecnic
a.
S02 TecnologaOLAP
Para ISC yLI
8 100.00
Sistemas
C02 Tecnologa delconcreto y de lasEstructuras
Para IC 10 100.00
Ciencias
B02 Metabolismo delpidos en elcamarn
Para IB 10 0.00 Bioqumica
E02 Los sistemaselctricos de
potencia
Para IE 10 100.00
Electromecnic
aS03 Estructura de
datosPara ISC yLI
8 0.00 Sistemas
A01 Diseobioclimtico
ParaArquitectura
10 0.00 Arquitectura
C03 Matemticasdiscretas
General 8 0.00 Ciencias
S04 Circuitosdigitales Para ISC 10 0.00 Sistemas
S05 Arquitectura deComputadoras
Para ISC 10 50.00 Sistemas
I01 Base de DatosRelacionales
Para ISC yLI
10 150.00
Informtica
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
59/74
MODULOBASEDEDATOS Pag.59
Ejemplos:
* Crear una vista (tabla virtual), denominada CursosS, que contenga las filassolo correspondientes a cursos ofrecidos por el departamento Sistemas. La vista
deber contener todas las columnas de la tabla CURSO, con la excepcin de lacolumna Depto, la secuencia, de izquierda a derecha de las columnas, deberser: NombreC, NumC, Creditos, Costo Y DescC.
CREATE VIEW CursosS ASSELECTNombreC,NumC,Creditos,Costo,DescCFROMCURSOWHEREDescC=Sistemas;
Observemos que despus del nombre de la vista ponemos la sentencia AS,
esto para definir la estructura de la vista, la estructura en si de la vista estaformada por la consulta anteriormente vista utilizando la orden SELECT.
* Crear una vista denominada CursosCaros, correspondientes a las filas de latabla CURSO, en donde la tarifa exceda de $150, las columnas de la vistadebern tener los nombres ClaveCurso, NombreCurso y CostoCaro.
CREATE VIEW CursosSCaros(ClaveCurso,NombreCurso,CostoCaro)AsSELECT NumC,NombreC, CostoFROM CursoWHERE Costo > 150;
Observamos que despus del nombre de la vista CursosCaros ponemos losnombres que se nos pidieron tuvieran los campos de la vista(ClaveCurso,...),despus se realiza la consulta correspondiente para generar el resultadodeseado.
Visualizar las vistas
Creamos una tabla virtual que contiene los datos de las consultas quedeseamos, ahora nos falta visualizar estos datos, para ello utilizamos la
sentencia SELECT y realizamos la consulta:
SELECT *FROM CursosCaros;
De esta consulta podemos observar que mostramos todos los campos que lavista contiene, aunque podemos visualizar solo alguno de ellos, tambinobservamos que sustituimos el nombre de la vista por el de la tabla junto a la
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
60/74
MODULOBASEDEDATOS Pag.60
sentencia FROM, esto es por que una vista es una tabla virtual, pero guarda losdatos como cualquier tabla normal.
Eliminar una vista
Como si fuera una tabla normal, las vistas tambin pueden borrarse, para elloutilizamos la sentencia DROP VIEW.
Estructura de la sentencia DROP VIEW.
DROP VIEW Nombre de la vista a borrar;
Ejemplo: Borrar la vista CursosCaros creada anteriormente.
DROP VIEW CursosCaros;
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
61/74
MODULOBASEDEDATOS Pag.61
Resultado1
Solucin a problemas de algebra relacional.
La conversin a tablas del modelo Medico-atiende-Paciente resulta:
Tabla Mdico
Cdula NombreM Especialidad
Tabla Paciente
Afiliacin NombreP Sexo Edad
Tabla Atiende
Cdula Afiliacin Fecha Hora
La solucin a las consultas son:
1.- (Medico)[NombreM];
2.- (Paciente where Edad>'18')[NombreP];
3.- (Paciente);
4.- (Paciente)[NombreP] JOIN (Atiende where Cdula='ABC001')[NombreP];
5.- ((Mdico)[NombreM] JOIN (Atiende) JOIN (Paciente where NombreP='John
Smith' )) [NombreM];
6.- Consideremos 2 tablas de pacientes, Paciente1 y Paciente2, entonces:
((Paciente1) UNION (Paciente2))[NombreP,Afiliacin];
7.- ((Paciente) TIMES (Mdico where especialidad 'Oftalmologa'));
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
62/74
MODULOBASEDEDATOS Pag.62
EVALUACIN:
1. La arquitectura relacional esta compuesta por: Modelo relacional de datos, submodelo de datos, esquema de
almacenamiento y sublenguaje de datos. ( )
Nivel interno, conceptual y de visin. ( ) Ninguna de las anteriores. ( )
2. En el algebra relacional debemos saber que es lo que deseamos consultar ylas operaciones necesarias para llegar al resultado deseado, por tal motivoes un lenguaje:
Procedimental. ( ) No procedimental ( ) Estructurado. ( )
3. En SQL la operacin proyectar se especifica con la orden: Select. ( ) Where. ( ) From. ( )
4. Si se omite la clusula Where en una consulta SQL. No se obtiene ningn resultado. ( ) Visualiza los datos de todas las tablas involucradas en la orden FROM. ( ) El resultado esta compuesto de todas las filas de las tablas indicadas en la
orden from segun los atributos descritos en la sentencia Select. ( )
5. Las Vistas en SQL son: Tablas que se generan de una tablas base segn lo que se indique en la orden
Select. ( )
Tablas virtuales creadas con la orden Create View que para ser visualizada serequiere realizar una consulta en SQL e invocar la tabla creada(vista). ( )
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
63/74
MODULOBASEDEDATOS Pag.63
Tablas virtuales creadas con la orden Create View que nos permite ver losdatos deseados que cumplen con las condiciones indicadas en la clusulaWhere. ( )
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
64/74
MODULOBASEDEDATOS Pag.64
CAPITULO IVDiseo de Bases de Datosrelacionales
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
65/74
MODULOBASEDEDATOS Pag.65
4.1 Peligros en el diseo de bases de datos relacionales.
Uno de los retos en el diseo de la base de datos es el de obtener una estructura
estable y lgica tal que:
1. El sistema de base de datos no sufra de anomalas de almacenamiento.2. El modelo lgico pueda modificarse fcilmente para admitir nuevos
requerimientos.
Una base de datos implantada sobre un modelo bien diseado tiene mayoresperanza de vida aun en un ambiente dinmico, que una base de datos con undiseo pobre. En promedio, una base de datos experimenta una reorganizacingeneral cada seis aos, dependiendo de lo dinmico de los requerimientos de los
usuarios. Una base de datos bien diseada tendr un buen desempeo aunqueaumente su tamao, y ser lo suficientemente flexible para incorporar nuevosrequerimientos o caractersticas adicionales.
Existen diversos riesgos en el diseo de las bases de datos relacionales queafecten la funcionalidad de la misma, los riesgos generalmente son la redundanciade informacin y la inconsistencia de datos.
La normalizacin es el proceso de simplificar la relacin entre los campos de unregistro.Por medio de la normalizacin un conjunto de datos en un registro se reemplaza porvarios registros que son ms simples y predecibles y, por lo tanto, ms manejables.La normalizacin se lleva a cabo por cuatro razones:
Estructurar los datos de forma que se puedan representar las relacionespertinentes entre los datos.
Permitir la recuperacin sencilla de los datos en respuesta a las solicitudes deconsultas y reportes.
Simplificar el mantenimiento de los datos actualizndolos, insertndolos yborrndolos.
Reducir la necesidad de reestructurar o reorganizar los datos cuando surjannuevas aplicaciones.
En trminos ms sencillos la normalizacin trata de simplificar el diseo deuna base de datos, esto a travs de la bsqueda de la mejor estructuracin quepueda utilizarse con las entidades involucradas en ella.
FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
66/74
MODULOBASEDEDATOS Pag.66
Pasos de la normalizacin:
1. Descomponer todos los grupos de datos en registros bidimensionales.2. Eliminar todas las relaciones en la que los datos no dependan completamente
de la llave primaria del registro.
3. Eliminar todas las relaciones que contengan dependencias transitivas.La teora de normalizacin tiene como fundamento el concepto de formas
normales; se dice que una relacin est en una determinada forma normal sisatisface un conjunto de restricciones.
4.2 Primera y segunda forma normal.
Formas normales.
Son las tcnicas para prevenir las anomalas en las tablas. Dependiendo de suestructura, una tabla puede estar en primera forma normal, segunda forma normal oen cualquier otra.
Relacin entre las formas normales:
Primera forma normal.
Definicin formal:Una relacin R se encuentra en 1FN si y solo s por cada rengln columna
contiene valores atmicos.
Abreviada como 1FN, se considera que una relacin se encuentra en la primeraforma normal cuando cumple lo siguiente:
1. Las celdas de las tablas poseen valores simples y no se permiten grupos niarreglos repetidos como valores, es decir, contienen un solo valor por cadacelda.
2. Todos los ingresos en cualquier columna(atributo) deben ser del mismo tipo.FacultaddeCienciasdelaEducacin UEB Ing.MarcoVinicioRosilloSolano
-
8/7/2019 modulo base de datos
67/74
MODULOBASEDEDATOS Pag.67
3. Cada columna debe tener un nombre nico, el orden de las columnas en latabla no es importante.
4. Dos filas o renglones de una misma tabla no deben ser idnticas, aunque elorden de las filas no es importante.
Por lo general la mayora de las relaciones cumplen con estas caractersticas, asque podemos decir que la mayora de las relaciones se encuentran en la primeraforma normal.
Para ejemplificar como se representan grficamente las relaciones en primeraforma normal consideremos la relacin alumno cursa materia cuyo diagrama E-R esel siguiente:
Segunda forma normal.
Para definir formalmente la segunda forma normal requerimos saber que es unadependencia funcional: Consiste en edificar que atributos dependen de otro(s)
atributo(s).
Defini