2. UNIDAD Nº1: INTRODUCCIÓN. VENTAJAS DE LA
BASES DE DATOS.
UTILIZACION DE
Competencia.
Relaciona los modelos de bases de datos más comunes a partir de sus
componentes para realizar el diseño contextual de datos de una empresa de una
manera ágil y precisa.
Importancia y Características de la base de datos.
Desde el inicio de la informática los sistemas han necesitado trabajar con grandes
volúmenes de información, es así que nacieron los sistemas de información
gestionados con lenguajes de programación.
Rápidamente los sistemas se fueron complicando, en donde fue evidente la necesidad
de que en la parte en donde se administre los datos fuese más eficiente y sobre todo
con un control confiable de los datos administrados, es aquí en donde se hacen
presentes los Sistemas Gestores de Bases de Datos (SGBD)
Dato.
Es la información concerniente al mundo real, así por ejemplo: Nombre del
Estudiante, Cedula de Identidad, etc.
Base de Dato.
1. ¿Qué es un sistema de Información?
2. ¿Cuáles son los elementos de un sistema de información?
3. ¿Cuál es el papel que cumple el analista de sistemas?
4. ¿Quiénes son los participantes en el análisis de sistemas de información?
5. Realizar una explicación breve sobre las faces de definición, desarrollo y
mantenimiento en el análisis de los sistemas de información.
6. Nombre los modelos de planificación de ciclo de vida del Software y explique uno
de ellos.
7. Reflexione: ¿Qué es una base de datos?
8. Reflexione: ¿Para qué se aplica una base de Datos?
9. Reflexione: ¿En donde se utilizan las bases de datos?
3. Conjunto de Datos que están organizados entre sí, estos puede
en procesadores de Texto o en hoja electrónica, y además lo
papel, es decir en un medio no lógico, por ejemplo:
estar almacenados
pueden estar en un
Sistemas de Información.
Están relacionados con archivos planos que gestionan la información, en este tipo de
estructura trabajan programas de desarrollo como: Pascal, C, etc. En la cual si se
utiliza archivos planos, al momento de la modificación de la estructura de datos,
cambiaria además gran parte de código o programas de aplicación que utilice este
código
Sistemas de Base de datos.
Conjunto de datos inter relacionados y organizados de tal forma que pueden ser
administrados por un SGBD.
Mientras un archivo plano solo tiene datos a gestionar, un SGBD gestiona datos y
Meta-Datos, que podría ser restricciones al momento de ingresar un dato, es decir,
al ingresar el sexo de la persona el SGBD solo tiene que permitir Masculino o
Femenino, mas no otro dato, otro meta dato son los Índices, etc.
4. Sistema de Gestión de Bases de Datos.
Es un Software de apli ación que permite extraer y almacenar información de un
sistema de Bases de Datos, proporcionándolos seguridad, organización,
independencia, integridad y consistencia en los datos, recuperación ante fallos del
sistema, administración de la información.
Analizando todas las ventajas que proporcionan los SGBD, podríamos decir que son
de gran utilidad, pero consideremos, que trabajar con SGBD resultaría costoso y
complejo, es por ello
seguridades altas, etc.,
archivos planos.
que para aplicaciones pequeñas que no requieren se
lo mas conveniente es utilizar sistemas que trabajen con
A finales de los 80 y principios de los 90 se han realizado algunos avances en el
área de los SGBD, y quizás lo más significante, podría decirse la incursión de los
SGBD en la Internet, en la que sistemas como los de Bancos, Instituciones de
Seguridad Social, entre otros, utilizan este sistema.
Modelos de Bases de Datos.
Bases de datos Jerárquicos.
Entre los primeros modelos de datos que surgieron en los SGBD comerciales se
encuentran las estructuras en árbol, propias de los productos jerárquicos.
5. Los árboles, como instrumentos para la representación de estructuras de datos,
presentan problemas por su poca flexibilidad, lo que da origen a una falta de
adaptación a muchas organizaciones reales.
La implementación del modelo Jerárquico en los productos se ll
punteros; estructura física que varía según los productos, e
va a cabo en base a
incluso un mismo
producto proporciona distintas organizaciones físicas a fin de que el usuario pueda
conseguir una mayor eficiencia en el diseño físico de la base de datos.
Los segmentos, en función de su situación en el árbol y de
pueden denominarse como:
sus características,
1. SEGMENTO PADRE: Es aquél que tiene descendientes, todos ellos localizados en el mismo nivel.
2. SEGMENTO HIJO: Es aquél que depende de un segmento de nivel superior. Todos los hijos de un
mismo padre están en el mismo nivel del árbol.
3. SEGMENTO RAÍZ: El segmento raíz de una base de datos jerárquica es el padre que no
tiene padre. La raíz siempre es única y ocupa el nivel superior del árbol.
6. Ilustración 1 Modelo Jerárquico.
Bases de Datos de Red.
Es similar a la jerárquica, es decir que poseen registros conectados entre si por medio
de enlaces y cada registro es una colección de campos (atributos), cada uni de los
cuales tiene solamente un valor de un dato y un enlace es una asociación de dos
registros exclusivamente.
Ilustración 2 Modelo de Red
7. Bases de datos Relacionales.
Este modelo representa los datos y las relaciones entre los datos, mediante un
conjunto de tablas conocidas también como relaciones, cada una de las cuales tiene
un numero de columnas o atributos con nombres únicos, cada uno de los campos
poseen un dato que se identifica un tipo común de datos a almacenar, las tablas tienen
a su vez filas que se conocen como tuplas, que contienen información de un
registro en particular. Cada tabla está asociada habitualmente con otra(s) tablas
como resultado de la relación representada en el diagrama conceptual.
Ilustración 3 Modelo Relacional
Realizar las siguientes actividades:
1. Realizar mediante diferentes fuentes una investigación referente al tema: ¿En que se
relacionalostresmodelosdebasesdedatosenfuncióndelosproblemasoriginadosenla
actualización de los datos?
2. Analizar el contenido investigado.
3. Establecer comparaciones.
4. Elabore cuadros esquemáticos.
5. Presentar el trabajo en plenaria.
8. Arquitectura de los sistemas.
Ilustración 4 Bosquejo de una arquitectura Centralizada.
Ilustración 5 Bosquejo de una arquitectura Distribuida.
9. 1. Realizar la técnica del diagrama de VENN en la que relacione las ilustraciones 4 y 5
referente a las arquitectura de los sistemas.
Acceso a Sistemas de Bases de Datos.
Para el acceso a los datos desde un SGBD se puede realizar en dos configuraciones:
1. Arquitectura Maestro - Esclavo.
2. Arquitectura Cliente – Servidor.
Arquitectura Maestro - Esclavo.
Es aquel en el cual un PC que está integrada a la red accede al servidor y ejecuta
una aplicación que re osa en el mismo. Este modelo se caracteriza por tener
terminales no-Inteligentes, ya que todas las tareas “Principales” la realiza el servidor
central, esto permite de que como todos los procesos son ejecutados por el servidor,
un tráfico enorme si se considerase una red grande, es por ello que se necesitaría una
maquina potente como servidor para que puedan atender a todos los nodos.
Arquitectura Cliente – Servidor.
Es el cual en que las tareas de una aplicación se dividen ntre computadoras
servidor – cliente a través de la red de computadoras.
En este caso los clientes se instala y ejecuta los programas de aplicación, este
software realiza tareas como verificar que los datos ingresados por el usuario sean
10. correctos, etc. Y solo envía la petición cuando desee acceder a la información u otra
cosa.
La arquitectura Cliente – Servidor consiste en tres capas lógicas:
1. Capa de Presentación.
2. Capa de Aplicación.
3. Capa de Datos.
Como resultado de esta descomposición se puede tener sistemas de 2-capas, 3-
capas o Multicapas (n-capas).
Ilustración 6 Bosquejo de una arquitectura de 3 capas en una aplicación Web.
11. UNIDAD 2: DISEÑO DE BASES DE DATOS RELACIONALES.
Competencia.
Diseña diagramas conceptuales y lógicos de los sistemas de in ormación aplicando
las metodologías de diseño con agilidad, orden y pulcritud.
El Diagrama de Entidad - Relación.
El modelo E/R fué propuesto inicialmente por PETER P. CHEN en 1976 y 1977, estos
diagramas hacen énfasis en las relaciones entre los datos. Todos los sistemas
almacenan y usan información acerca del ambiente en el cual interactúan; a veces, esta
información es mínima, pero en la mayoría de los sistemas es bastante compleja. No
solo deseamos conocer en detalle que información hay en cada agregado de datos, sino
que también queremos conocer la relación que existe entre agregados. Este aspecto
del sistema no se resalta en el diagrama de flujo, pero sí aquí.
Este diagrama, también denominado diagrama conceptual con
elementos fundamentales:
ta de los siguientes
Grafico Nombre Grafico Nombre
Entidad Relación
Atributo
Identificador
Entidad.
Es aquel objeto acerca
Datos
del cual queremos almacenar información en la Base de
1. Realizar un esquema conceptual referente a los elementos de las bases de datos
(Dato, base de dato, sistema de base de dato y Sistema de gestión de bases de datos)
2. Mencione tres modelos de bases de datos.
3. Mencione 3 características referentes a las bases de datos relacionales.
4. Mencione 3 ventajas del uso de las bases de datos relacionales
12. Atributo.
Es una característica de interés o un hecho sobre una entidad o sobre una relación.
Los atributos representan las propiedades básicas de las entidades y de las relaciones.
Gráficamente, se representan mediante bolitas que cuelgan de las entidades o
relaciones a las que pertenecen.
Los atributos también pueden clasificarse en monovalentes o polivalentes. Un atributo
monovalente es aquel que tiene un solo valor para cada ocurrencia de la entidad o
relación a la que pertenece. Un atributo polivalente es aquel que tiene varios valores
para cada ocurrencia de la entidad o relación a la que pertenece.
Identificador.
Un identificador de una entidad es un atributo o conjunto de atributos que determina
de modo único cada ocurrencia de esa entidad.
Toda entidad tiene al menos un identificador y puede tener varios identificadores
alternativos. Las relaciones no tienen identificadores.
Relaciones.
Se representan por medio de rombos en el diagrama y son la serie de conexiones o
asociaciones entre los tipos de objetos que están conectados por la relación por medio
de flechas.
Ilustración 7 Entidades, atributos, identificadores y relación.
Cardinalidad.
De un atributo indica el número mínimo y el número máximo de valores que puede
tomar para cada ocurrencia de la entidad o relación a la que pertenece. El valor por
omisión es (1,1).
Las ocurrencias pueden ser:
1. 1:1 Cuando la relación es de uno a uno
2. 1:n Cuando la relación es de uno a muchos
3. n:m Cuando la relación es de muchos a muchos
13. Ilustración 8 Obligatoriedad y Cardinalidad (O, C).
1. Expresar las restricciones de cardinalidad para los casossiguientes:
1.1. Los idiomas pueden ser hablados por personas, o no. Las personas tienen que
hablar al menos un idioma.
1.2. Todo barco debe tener un capitán y sólo uno. Un capitán puede estar asignado
como máximo a un barco.
1.3. Todo alumno debe estar matriculado como mínimo de una asignatura.
1.4. Un río no puede desembocar en más de un mar.
1.5. Una persona puede tener o no hijos.
1.6. Un cliente puede comprar muchos productos.
1.7. En una factura se detallan muchos productos y también el producto se pueden
detallar en muchas facturas.
1.8. Un cliente se registra en muchas facturas y en la misma se registra un solo
cliente.
1.9. Muchos productos son vendidos por un proveedor.
1.10. Un producto posee muchas marcas.
1.11. Un padre de familia matricula a muchos hijos.
1.12. A muchos estudiantes se califica muchas materias.
1.13. A cada materia se le califica muchos parámetros.
1.14. Muchos estudiantes poseen un representante.
14. Metodología de diseño conceptual
El primer paso en el diseño de una base de datos es la producción del esquema
conceptual. Normalmente, se construyen varios esquemas conceptuales, cada uno
para representar las distintas visiones que los usuarios tienen de la información. Cada
una de estas visiones suelen corresponder a las diferentes áreas funcionales de la
empresa como, por ejemplo, producción, ventas, recursos humanos, etc.
Estas visiones de la información, denominadas vistas, se pueden identificar de varias
formas. Una opción consiste en examinar los diagramas de flujo de datos, que se
pueden haber producido previamente, para identificar cada una de las áreas
funcionales. La otra opción consiste en entrevistar a los usuarios, examinar los
procedimientos, los informes y los formularios, y también observar el funcionamiento
de la empresa.
A los esquemas conceptuales correspondientes a cada vista de usuario se les denomina
esquemas conceptuales locales. Cada uno de estos esquemas se compone de
entidades, relaciones, atributos, dominios de atributos e identificadores. El esquema
conceptual también tendrá una documentación, que se irá produciendo durante su
desarrollo. Las tareas a realizar en el diseño conceptual son las siguientes:
1. Identificar lasentidades.
2. Identificar lasrelaciones.
3. Identificar los atributos y asociarlos a entidades y relaciones.
4. Determinar los dominios de los atributos.
5. Determinar los identificadores.
6. Dibujar el diagrama entidad-relación.
7. Revisar el esquema conceptual local con el usuario.
Metodología del diseño lógico de datos.
A partir de un esquema conceptual obtenemos una especificación lógica de la base de
dato, tablas y columnas en el modelo relacional.
Las entidades se transforman en tablas, que es la estructura primaria de las bases de
datos relacionales, y, Los atributos de las entidades pasan a ser columnas de las tablas.
El (los) atributo que sirve de identificador de una entidad pasa a ser la clave primaria
(que es la que permite identificar a cada registro de manera única en la tabla) en cada
tabla.
15. La relación entre las entidades se la representa adicionando una columna, o mas de
una dependiendo del caso, en una de las tablas redundantes se las denomina clave
foránea, que es la que permite relacionar los registros entre tablas, y a su vez es la clave
primaria de la tabla(s) relacionada.
Un esquema lógico es una representación lingüística del esquema conceptual como
resultado del diagrama entidad relación, el que es representado por una serie de
nombres, el de la tabla y el de las columnas. El nombre de la tabla (entidad) se la
representa con letras mayúsculas y después entre paréntesis las columnas (atributos)
separadas por comas (,). La clave primaria (identificador) se representa subrayando
la columna(s), y la clave foránea subrayando la columna(s) correspondiente con línea
discontinua.
Diseño lógico en relaciones binarias de muchos a muchos.
16. Diseño lógico en relaciones binarias de uno a muchos o muchos a uno.
17. Diseño lógico en relaciones binarias de uno a uno.
1. Elabore un cuadro de secuencia referente a las metodologías del diseño conceptual y
diseño lógico.
18. Ejercicio resuelto de DER.
El almacén de alquiler de películas MOVIES necesita de un sistema informático,
para ello su gerente explica sus requisitos:
Un video se identifica por su titulo y categoría y sus actores, de este existe muchas
copias para que sean alquiladas por uno o varios clientes, cuando este se acerca a
realizar el alquiler, se le solicita su cedula como prenda, poste iormente se apunta sus
nombres, apellidos, dirección y teléfono.
Para cada video existen muchos actores, de las cuales se
Nombre, edad y nacionalidad.
Diagrama Conceptual.
Diseño lógico.
desea registrar su
19. 1. Complete el siguiente problema sus atributos y su diseño lógico.
NEW FASHION BOUTIQUE es el nombre de una micro-empresa que se dedica al
diseño, manufactura, venta y comercialización de ropa femenina diseñada para
clientes exclusivos, la forma en que NEW FASHION BOUTIQUE lleva a cabo sus
actividadestransaccionales, esta detallada de lasiguiente manera:
La dueña de la Boutique realiza la compra de materiales (cierres, hilos, pellón,
botones, entre otros), así también materiales que proporcionan mantenimiento a
las maquinas (aceite, agujas, etc.).
La ropa se confecciona utilizando telas que algunas son proporcionados por los
clientes y otras son vendidas por la misma Boutique, desde luego el cliente indica la
fecha de entrega del producto final.
El proceso de automatización del presente sistema es para el control de las ventas,
productos, proveedores y clientes
2. A partir del siguiente enunciado se desea realiza, con la ayuda del docente el
modelo (Diagrama)entidad-relación.
2.1. “Una empresa vende productos a varios clientes. Se necesita conocer
los datos personales de los clientes (nombre, apellidos, dni, dirección y fecha
denacimiento).Cadaproducto tiene un nombre y un código, así como un
precio unitario. Un cliente puedecomprar varios productos a la empresa,
y un mismo producto puede ser comprado por varios clientes.
Los productos son suministrados por diferentes proveedores. Se debe
tener en cuenta que un producto sólo puede ser suministrado por un
proveedor,yqueunproveedorpuedesuministrardiferentesproductos.De
cada proveedor se desea conocer el NIF, nombre y dirección”.
20. 2.2. “Se desea diseñar la base de datos de un Instituto. En la base de datos se
desea guardar los datos de los profesores del Instituto (DNI, nombre,
21. dirección y teléfono). Los profesores imparten módulos, y cada módulo tiene
un código y un nombre. Cada alumno está matriculado en uno o varios
módulos. De cada alumno se desea guardar el nº deexpediente, nombre,
apellidos y fecha de nacimiento. Los profesores pueden impartir varios
módulos, pero un módulo sólo puede ser impartido por un profesor. Cada
curso tiene un grupo de alumnos, uno de los cuales es el delegado del
grupo”.
2.3. “La clínica “SAN PATRÁS” necesita llevar un control informatizado de su
gestión de pacientes ymédicos.
De cada paciente se desea guardar el código, nombre, apellidos,
dirección, población,provincia,códigopostal,teléfonoyfechadenacimiento.
De cada médico se desea guardar el código, nombre, apellidos, teléfono y
especialidad. Se desea llevar el control de cada uno de los ingresos que el
paciente hace en el hospital. Cada ingreso que realiza el paciente queda
registrado en la base de datos. De cada ingreso se guarda el código de
ingreso (que se incrementará automáticamente cada vez que el paciente
realice un ingreso), el número de habitación y cama en la que el paciente
realiza el ingreso y la fecha de ingreso. Un médico puede atender varios
ingresos,peroelingresodeunpacientesolopuedeseratendidoporunúnico
médico.Unpacientepuede realizarvariosingresosenel hospital”.
3. A partir del siguiente enunciado realizar en grupo de tres el modelo (Diagrama)
entidad-relación.
3.1. Una empresa desea diseñar una base de datos para almacenar en ella
toda lainformacióngeneradaencadaunodelosproyectosqueéstarealiza.
“De cada uno de los proyectos realizados interesa almacenar el código,
descripción, cuantía del proyecto, fecha de inicio y fecha de fin. Los
proyectos son realizados por clientes de los que se desea guardar el
código, teléfono, domicilio y razón social. Unclientepuederealizarvarios
proyectos, peroun solo proyecto esrealizado por un único cliente.
Enlosproyectosparticipancolaboradoresdelosquesedisponelasiguiente
información:nif, nombre, domicilio, teléfono, banco y número de cuenta.
Un colaborador puede participar en varios proyectos. Los proyectos son
realizadosporunoomáscolaboradores.Los colaboradores de los proyectos
reciben pagos. De los pagos realizados se quiere guardar el número de
pago, concepto, cantidad y fecha de pago. También interesaalmacenarlos
diferentestiposde pagos quepuederealizarlaempresa.Decadaunodelos
tipos de pagos se desea guardar el código y descripción. Un tipo de pago
puede pertenecer a varios pagos”.
22. UNIDAD N° 3: OPTIMIZACIÓN DE LAS BASES DE DATOS RELACIONALES.
Competencia.
Optimiza el diseño de las bases de datos aplicando las reglas de normalización de
una manera ágil y precisa.
1. Preparar informe investigativo de tres personas referente a la herramienta POWER
DESIGNER, considerando los siguientes temas:
1.1. Empresa creadora.
1.2. Funciones.
1.3. Requerimientos de Hardware y Software.
1.4. Pantallas.
1.5. Barras de herramientas.
1.6. Conclusiones.
Se calificará Informe, defensa y diapositivas.
2. Realizar un panel sobre el tema “Características, manejo y bondades del programa
POWER DESIGNER”. Para el desarrollo del mismo seguir la siguiente secuencia:
a. Haber investigado de diferentes fuentes.
b. Presentar a los miembros del panel.
c. Formular preguntas por cada estudiante.
d. Responder a la pregunta planteada por uno de los integrantes.
e. Continuar el dialogo
f. Plantear otras preguntas pos parte del coordinador.
¿Qué es el modelo relacional?
Grafique y nombre los símbolos usados en el diagrama entidad relación.
Explique sobre el uso de cardinalidad y obligatoriedad en el modelo relacional.
Mencione los 7 pasos para realizar un correcto diagrama entidad-relación.
¿En qué consiste el diseño lógico?
Realizar el diseño lógico del siguiente diagrama Entidad relación
7. Graficar el Diagrama Entidad Relación del siguiente esquema lógico.
23. g. Resumir brevemente el contenido expuesto.
h. Sintetizar las exposiciones por parte del coordinador.
i. Establecer un diálogo con loe estudiantes.
j. Analizar el contenido investigado.
Teoría de la Normalización.
Cuando se diseña una base de datos mediante el modelo relacional, al igual que ocurre
en otros modelos de datos, tenemos distintas alternativas, es decir, podemos obtener
diferentes esquemas relacionales y no todos son equivalentes, ya que algunos van a
representar la realidad mejor que otros.
Es necesario conocer qué propiedades debe tener un esquema relacional para
representar adecuadamente una realidad y cuáles son los problemas que se pueden
derivar de un diseño inadecuado.
La teoría de la Normalización es un método objetivo y riguroso que se aplica en el
diseño de bases de datos relacionales.
Algunos problemas que se pueden presentar son:
• Incapacidad para almacenar ciertos hechos
• Redundancias y por tanto, posibilidad de incoherencias
• Ambigüedades
• Pérdida de información (aparición de tuplas espúreas)
• Pérdida de dependencias funcionales, es decir, ciertas restricciones de integridad que dan
lugar a interdependencias entre los datos.
• Aparición en la BD de estados no válidos, es decir, anomalías de inserción, borrado y
modificación.
En conclusión el esquema relacional obtenido debe ser analizado para comprobar que
no presenta los problemas anteriores.
Analicemos la siguiente relación: ESCRIBE
24. AUTOR NACIONALIDAD COD_LIBRO TITULO EDITORIAL AÑO
Date, C. Norteamericana 98987 Database Addison 1990
Date, C. Norteamericana 97777 SQL Stan Addison, W. 1986
Date, C. Norteamericana 98987 Guide for Addison, W. 1988
Codd,E. Norteamericana 7890 Relational Addison,W. 1990
Gardarin Francesa 12345 Basi Dati Paraninfo 1986
Gardarin Francesa 67890 Comp BD Eyrolles 1984
Valduriez Francesa 67890 Comp BD Eyrolles 1984
Kim,W. Norteamericana 11223 BD OO ACM 1989
Lochovsky Canadiense 11223 BD OO ACM 1989
Esta relación almacena datos de autores y de libros.
Algunos problemas son:
• Redundancia, ya que la nacionalidad del autor se repite por cada ocurrencia del mismo. Lo
mismo sucede cuando un libro tiene mas de un autor, se repite la editorial y el año de
publicación.
• Anomalías de modificación, es fácil cambiar el nombre de una editorial en una tupla sin
modificar el resto de las que corresponden al mismo libro, lo que da lugar a incoherencias.
• Anomalías de inserción, ya que si queremos ingresar información de algún autor, del que no
hubiera ningún libro en la base datos, no sería posible, ya que cod_libro es parte de la clave
primaria de la relación (regla de integridad de la entidad). La inserción de un libro, que tiene
dos autores obliga a insertar dos tuplas en la relación.
• Anomalías de borrado, ya que si queremos eliminar un cierto libro, deberíamos perder los datos
de su autor y viceversa.
En los casos anteriores, se deja en manos del usuario manejar la integridad de la base
de datos.
Lo anterior sucede pues no se cumple un hecho básico de todo diseño:
"Hechos distintos, deben almacenarse en objetos distintos"
Una forma de evitar este tipo de problemas consiste en seguir la metodología
propuesta en el curso, es decir, un riguroso diseño conceptual y un traspaso de éste
al modelo relacional.
Sin embargo, ante posibles dudas respecto a si un esquema relacional está correcto,
aplicaremos a dicho esquema un método formal de análisis, que permita analizar
errores y generar esquemas correctos. Esta es la teoría de la normalización.
25. En el ejemplo anterior, el conjunto de las siguientes relaciones no presenta estos
problemas:
LIBRO( cod_libro, titulo, editorial, año )
AUTOR( nombre, nacionalidad )
ESCRIBE( cod_libro, nombre )
La normalización introduce una técnica formal para diseñar bases de datos
relacionales, y permite mecanizar parte del proceso al disponer de algoritmos de
normalización.
Una observación importante, es que las anomalías antes descritas se producen en
procesos de actualización y no en procesos de consulta. La normalización penaliza las
consultas, al disminuir la eficiencia, ya que la normalización aumenta el nro. de
relaciones presentes en la base de datos, por lo que una determinada consulta puede
llevar consigo el acceso a varias tablas, lo que aumenta el costo de ésta.
Tablas normalizadas:
Libro
Cod_libro Titulo Editorial Año
1 Database Addison 1990
2 SQL Stan Addison, W. 1986
3 Guide for Addison, W. 1988
4 Relational Addison,W. 1990
5 Basi Dati Paraninfo 1986
6 Comp BD Eyrolles 1984
7 Comp BD Eyrolles 1984
8 BD OO ACM 1989
Autor
Nombre Nacionalidad
Date, C. Norteamericana
Codd,E. Norteamericana
Gardarin Francesa
Valduriez Francesa
Kim,W. Norteamericana
Lochovsky Canadiense
Escribe
Cod_libro Nombre
1 Date, C.
26. 2 Date, C.
3 Date, C.
4 Codd,E.
5 Gardarin
6 Gardarin
7 Valduriez
8 Kim,W.
9 Lochovsky
La normalización tiene como objetivo obtener esquemas relacionales que cumplan
determinadas condiciones, a través de las formas normales:
• Primera, segunda y tercera formas normales (1FN, 2FN, 3FN). – Codd 19701
• Forma normal de Boyce y Codd (FNBC). – Boyce – Codd 1974
• Cuarta Forma Normal. (4FN). – Fagin 1977
• Quinta Forma Normal. (5FN). – Fagin 1979
7. Investigar sobre la 4FN y 5FN.
Primera Forma Normal (1FN).
Fue introducida por Codd, en su primer trabajo. Es una restricción inherente al
modelo relacional por lo que su cumplimiento es obligato io. Consiste en la
prohibición de que en una relación existan grupos repetitivos, es decir, un atributo
no puede tomar más de un valor del dominio subyacente.
Segunda Forma Normal (2FN).
Fue introducida por Codd. Una relación está en 2FN, si además de estar en 1FN,
todos los atributos que
información acerca de
no forman parte de ninguna clave ca
la clave completa, es decir que, cada
didata suministran
atributo no-clave es
total y funcionalmente dependiente de TODA la clave primaria.
1 Como obligatoriedad del currículo, en este modulo se estudiara las formas normales 1FN,
2FN Y 3FN.
27. Ejemplo usando 1FN y 2FN.
A partir del diseño lógico, para la relación:
PRESTAMO (num_socio, nombre_socio, cod_libro, fec_prest, editorial, país )
Las claves candidatas son:
(num_socio, cod_libro) y (nombre_socio, cod_libro)
Por lo tanto seleccionamos la primera opción: num_socio y cod_libro
Se puede observar que ciertos atributos que no forman parte de las claves candidatas,
tal como editorial, constituye información acerca del libro, pero no acerca de la clave
completa (del socio también). Luego, la relación préstamo no se encuentra en 2FN.
La solución es descomponer esta relación en las siguientes:
Enunciado:
PRESTAMO (num_socio, nombre_socio, cod_libro, fec_prest, editorial, país )
Optimizada a:
PRESTAMO1( num_socio, cod_libro, nombre_socio, fec_prest )
LIBRO( cod_libro, editorial, país )
En la relación PRESTAMO1, los atributos que no forma parte de las claves candidatas
es fec_prest y nombre_socio, suministra información acerca de la clave, pero
nombre_socio es únicamente dependiente de num_socio y no de cod_libro, es decir
que nombre_socio no depende TOTALMENTE de la clave primaria. Por loque no está
en 2FN. Entonces la relación PRESTAMO1 quedaría así:
SOCIO (num_socio, nombre_socio)
PRESTAMO1 ( num_socio, cod_libro, fec_prest )
La relación LIBRO, la clave es cod_libro, y los dos atributos: editorial y país
suministran información de la clave completa. Por lo tanto, está en 2FN.
En fin, las tablas quedarían optimizadas en 1FN y 2FN así:
SOCIO (num_socio, nombre_socio)
LIBRO ( cod_libro, editorial, país )
PRESTAMO1 ( num_socio, cod_libro, fec_prest )
28. Tercera Forma Normal (3FN).
Propuesta por Codd. Una relación está en 3FN, si además de estar en 2FN, los
atributos que no forman parte de ninguna clave candidata facilitan información sólo
acerca de la(s) clave(s) y no acerca de otros atributos, es decir que ningún
atributo no-clave de l
atributo no-clave.
relación es funcionalmente dependiente de algún otro
Ejemplo usando 3FN.
De las siguientes tablas optimizadas anteriormente a 1FN y 2FN:
SOCIO(num_socio, nombre_socio)
LIBRO( cod_libro, editorial, país )
PRESTAMO1( num_socio, cod_libro, fec_prest )
La relación PRESTAMO1 y LIBRO, contienen una sola column
está en 3FN.
no-clave por tanto
En la relación LIBRO, el atributo país entrega información acerca de la editorial que
publica el libro, es decir, que país depende de la columna no-clave editorial por lo que
no está en 3FN.
La solución es descomponerla en:
EDITORIAL( editorial, país ),
LIBRO1( cod_libro, editorial )
Que están en 3FN, ya que todo atributo no clave facilita información acerca de la
Hasta ahora nuestro relaciones en 3FN: esquema relacional
30. SOCIO(num_socio, nombre_socio)
EDITORIAL( editorial, país ),
LIBRO1( cod_libro, editorial )
PRESTAMO1( num_socio, cod_libro, fec_prest )
Ejemplo completo usando las 3 normalizaciones.
Ilustración 10 Datos a analizar la normalización
1FN.
Ilustración 11 Area en donde no cumple la 1FN
31. Ilustración 12 Resultado de 1FN a partir de la tabla inicial
2FN.
Ilustración 13 Tabla que cumple la 2FN
32. Ilustración 14 Tabla que no cumple la 2FN
Ilustración 15 Resultado de realizar la 2FN
3FN.
34. Ilustración 18 Tabla normalizada a 3FN.
Resultado final:
Ilustración 19 Tabla inicial no normalizada.
35. Ilustración 20 Resultado de aplicar la normalización.
1. Realizar con el docente el diseño lógico y verificar su normalización (1FN,
2FN y 3FN) del siguiente diseño conceptual:
2. Con la ayuda del docente, realizar el diseño lógico
siguiente cuadro:
y normalización del
36. 3. En grupo de tres, realizar la normalización del siguiente esquema lógico:
FACTURA (Numero_Fact, Fecha, Nombre_cliente, Cedula, cantidad,
Cod_producto, detalle. Precio, Subtotal)
4. Presentar un informe individual con la ayuda del docente el diseño
conceptual, lógico y normalización del siguiente enunciado:
Consideremos la base de datos de personal de una empresa que tiene un
conjunto de departamentos. Cada departamento tiene un conjunto de
empleados, un conjunto de proyectos y un conjunto de oficinas. Cada
empleado tiene una historia de salarios (El conjunto de salarios que ese
empleado ha recibido ). Cada oficina tiene un conjunto de teléfonos.
La base de datos debe contener la siguiente información:
• Por cada departamento: número de departamento (único ), presupuesto y el
número de empleado del gerente del departamento ( único ).
• Por cada empleado: número de empleado ( único ), número de proyecto en
el que actualmente trabaja, número de oficina y número de teléfono; más la
fecha y salario para cada salario recibido en ese puesto.
• Por cada proyecto: número de proyecto (único) y presupuesto.
• Por cada oficina: número de oficina ( único ), superficie en metros
cuadrados y números ( únicos ) de todos los teléfonos de esa oficina.
Considere las siguientes suposiciones semánticas:
• Ningún empleado es el gerente de más de un departamento a la vez.
• Ningún empleado trabaja en más de un departamento a la vez.
• Ningún empleado trabaja en más de un proyecto a la vez.
• Ningún empleado ocupa en más de una oficina a la vez.
• Ningún empleado tiene más de un teléfono a la vez.
• Ningún proyecto está asignado a más de un departamento a la vez.
• Ninguna oficina está asignada a más de un departamento a la vez.
5. Optimizar el diseño conceptual del ejercicio 3.1 de la actividad intraclase de
la unidad anterior.
37. UNIDAD N°4: ORGANIZACIÓN DE UN SISTEMA GESTOR DE BASE DE
DATOS RELACIONAL.
Competencia.
Utiliza a partir de un análisis de las necesidades del entorno empresarial un
sistema gestor de bases de datos (SGBD) determinado de una forma precisa.
Sistema de Gestión de Bases de Datos.
Como se menciono anteriormente un Sistema de Gestión de Bases de Datos (SGBD)
es un Software de aplicación que permite extraer y almacenar información de un
sistema de Bases de Datos, proporcionándolos seguridad, organización,
independencia, integridad y consistencia en los datos, recuperación ante fallos del
sistema, administración de la información.
Una de las características de los SGBD es que permite co partir recursos en
diferentes aplicaciones. En un Sistemas de bases de datos, todos los datos se
integran en un único archivo físico o en un conjunto de archivos relacionados.
Cualquier acceso a los datos solicitados por un usuario a través de una interfaz es
ejecutado a través de un SGBD que es el Software que entiende y manipula la
estructura lógica de los datos en el archivo.
A finales de los 80 y principios de los 90 se han realizado algunos avances en el
área de los SGBD, y quizás lo más significante, podría decirse la incursión de los
SGBD en la Internet, en la que sistemas como los de Bancos, Instituciones de
1. ¿Cuáles son las características del modelado de datos?
2. Realiza una investigación referente al diseño lógico de datos de un modelo
relacional y explica sus procedimientos de traspaso de un Diagrama Entidad
– Relación (DER) a Diseño lógico.
3. Investiga y contesta las siguientes preguntas.
a) ¿Qué es Sistemas de Información?
b) ¿Qué son Archivos Planos?
4. ¿Qué es un Sistema de Bases de Datos?
39. 1. Investigar en grupo de 3 personas una reseña histórica sobre los SGBD,
considere: Fechas, fabricantes, nombres de los primeros SGBD, sus nuevas
tendencias y evolución de los SGBD a través del tiempo.
Para la exposición del texto expositivo siga las siguientes pautas:
a. Investigar el contenido de diferentes fuentes
b. Analizar el contenido investigado.
c. Seleccionar las ideas principales.
d. Investigar el significado de cada idea
e. Elabore cuadros esquemáticos.
f. Presentar el trabajo en plenaria.
Se calificara informe, defensa y diapositivas.
Ventajas de los SGBD.
Usar SGBD para administrar información posee muchas ventajas:
- Independencia de datos.
- Eficiencia en el acceso a la información.
- Integridad de los datos y su seguridad.
- Acceso concurrente y recuperación ante fallos del sistema.
- Menor tiempo en el desarrollo de aplicaciones.
- Administración de la información, entre otros.
Analizando las ventajas que ofrecen los SGBD, pareciera que siempre se necesite
gestionar la información, y esta seria la opción mas alternativa, sin embargo esta no
es la situación, ya que un SGBD es un software complejo, lo que implica que para
aplicaciones pequeñas
seguridades eficientes,
o en las que no se requiera un control de usuarios,
etc., lo mas racional es optar por otra alternativa, por
ejemplo archivos planos. Otra razón para no utilizar SGBD es cuando se desarrolle
aplicaciones que no sean soportados por lenguajes de consultas.
40. Estructura de un SGBD.
Los objetos de datos y las relaciones definidas en DER, proporcionan la base para el
diseño de datos. En muchas aplicaciones de software, la arquitectura de datos tendrá
una gran influencia sobre la arquitectura del software que debe procesarlo. Es por ello
que existe muchos SGBD en el mercado, a continuación mostramos algunos de ellos:
43. Ilustración 25 MySQL en PhpMyAdmin 2.11.6
Usuarios relacionados con los Sistemas de Bases de Datos.
Los Sistemas de Bases de Datos al estar administrados por los SGBD, están asociados
a una variedad de usuarios, con el objeto de atender la diversidad de tareas que se
requiere para su desarrollo, administración y mantenimiento.
- Usuarios Finales.
- Programadores de Aplicaciones.
- Administradores de sistemas de Bases de Datos.
- Administradores de Redes de comunicaciones.
- Implementadores.
44. UNIDAD N° 5: LENGUAJE DE CONSULTA ESTRUCTURADO. SQL.
Competencia.
Distingue los componentes del lenguaje de consulta estructurado para aplicar
organizada y eficazmente las formas de implementación de ba
manera correcta y eficaz.
es de datos de una
Reseña histórica del SQL.
Después de que el doctor Edgar Codd de la IBM en junio de 1977 publicara su
artículo “Un modelo relacional de datos para grandes bancos de datos compartidos”
delineando la teoría matemática de cómo la información podría almacenarse en tablas
y manipularlas usando un sub-lenguaje de datos, la investigación dio lugar en los
laboratorios de la IBM en California, EEUU para la implementación de un sub-
lenguaje que se incorporar al modelo propuesto. Esto condujo a la creación de un
modelo de datos relacional y del lenguaje de consulta estructurado denominado SQL
(Structured Query Language).
A principio se lo denomino SEQUEL (lenguaje de consulta en ingles estructurado)
cuando en 1978 se la cambio por SQL, no obstante, siendo la IBM la precursora del
desarrollo del SQL y del modelo relacional, es la corporación
pone al mercado el primer producto comercial de SGBD que
Oracle que en 1979
la denomino Oracle
versión 1 y funcionaba
lenguaje de consulta.
en mini-computadoras e incluía la versión de SQL como
Posteriormente en 1981 la IBM introduce su primer producto relacional comercial el
SQL/DS. En 1985 se introduce el DB2 (Database 2).
Una de las principales desventajas del modelo relacional, en s s primeros años de
funcionamiento, respecto al modelo jerárquico y de red era la lentitud de respuesta
Mencione 10 características sobre los SGBD.
Listar de al menos 4 Programas Gestores de Bases de datos que se encuentra
en el mercado.
¿Cuál es el papel que cumplen los administradores de sistemas de bases de
datos?
46. 1. Prepareunpanelconeltema“EvolucióndelosSGBDOracle,Databasey
SQL/DS ” Para el desarrollo del panel seguir la siguientes pautas:
a. Recopilar el contenido de diferentes fuentes
b. Presentar a los miembros del panel.
c. Formular preguntas por cada estudiante.
d. Responder a la pregunta planteada por uno de los integrantes.
e. Continuar el dialogo
f. Plantear otras preguntas pos parte del coordinador.
g. Resumir brevemente el contenido expuesto.
h. Sintetizar las exposiciones por parte del coordinador.
i. Establecer un diálogo con los estudiantes.
j. Analizar el contenido investigado.
Se calificará informe, defensa oral y escrita.
Característica del SQL.
El SQL es un lenguaje de cuarta generación y está compuesto por una serie de
sentencias en ingles estructuradas de alto nivel que sigue una sintaxis definida.
Aunque el SQL significa lenguaje de consulta estructurado, el SQL es más que una
herramienta de consulta, es:
➢ Lenguaje de definición de datos o LDD (DDL en ingles).
➢ Lenguaje de manipulación de datos o LMD (DML en ingles) .
➢ Lenguaje de control de datos o LCD (DCL en ingles).
➢ Lenguaje de consulta o LC (QL en ingles).
Ilustración 26 Componentes del SQL.
Por otro lado SQL no es un lenguaje de programación completo como el C++ o
Visual Basic ya que no contienen bloques de sentencias de comienzo o fin (Begin-
End), sentencias condicionales (if), sentencias de bucle (For, while, etc)2
2 Lo mencionado corresponde al SQL estándar. Los desarrolladores de SGBD añaden
características procedimentales a sus productos.
47. Adicionalmente, no es posible comprar el SQL como lo haría con otros lenguajes de
programación como el Visual Estudio, Java Builder o C++, etc. Ya que este es parte
embebida de los SGBD. Es por ello que el SQL no es considerado como un lenguaje de
programación sino como un sub-lenguaje.
A continuación se detalla un resumen de las características
SQL.
✓ Independencia de los vendedores.
✓ Portabilidad a través de los sistemas informáticos.
✓ Consultas interactivas.
✓ Acceso de un sistema de bases de datos desde de programas.
✓ Lenguaje completo de bases de datos.
✓ Arquitectura cliente/servidor.
más importantes del
48. 1. Investigar individualmente sobre la notación BACKUS-NAUR FORM (BNF).
Se calificara Informe y defensa escrita.
1. En grupo de 2 personas, realizar una investigación sobre un SGBD propuesto por el
docente, considerar:
1.1. Exploración de objetos de la base de datos.
1.2. Barras de herramientas. (si posee)
1.3. Editor de sentencias SQL.
1.4. ¿En donde se almacenan las bases de datos?
1.5. ¿Cómo se crea una Base de Dato?
Se calificará: informe ilustrado, recopilación del contenido desde diferentes fuentes
diapositivas y defensa del tema.
2. Organice un panel sobre la información investigada en la actividad anterior. Para el
desarrollo del mismo siga la siguiente secuencia:
a. Formulación d el tema.
b. Presentar a los miembros del panel.
c. Formular preguntas por cada estudiante.
d. Responder a la pregunta planteada por uno de los integrantes.
e. Continuar el dialogo
f. Plantear otras preguntas pos parte del coordinador.
g. Resumir brevemente el contenido expuesto.
h. Sintetizar las exposiciones por parte del coordinador.
i. Establecer un diálogo con los estudiantes.
j. Elaborar una conclusión del contenido investigado.
49. UNIDAD N° 6: LENGUAJE DE DEFINICIÓN DE DATOS. LDD.
Competencia.
Utiliza el lenguaje de definición de datos para la implementación de bases de datos
en los sistemas gestores de bases de datos Access y MySql
precisión y pulcritud.
con orden, respeto,
En la unidad anterior se indico que el LDD en un componente del SQL. A como se
estudio el LDD está compuesto por una serie de sentencias en ingles estructurado de
alto nivel que siguen una sintaxis predefinida y normalizada.
Misión del LDD.
Es la encargada de la implantación de los objetos de un sistema de bases de datos,
creación y administración, a través de un conjunto de sentencias SQL que utilizan las
palabras reservadas:
✓ Crear un objeto en la base de datos (CREATE).
✓ Eliminar un objeto de la base de datos (DROP).
✓ Modificar un objeto de la base de datos (ALTER).
✓ Conceder privilegios sobre un objeto de la base de datos (GRANT).
✓ Eliminar privilegios sobre un objeto de la base de datos(REVOKE).
Objetos de un Sistema de Bases de Datos.
Los componentes de
1. Catálogos.
2. Esquemas.
3. Usuarios.
un sistema de
bases de
datos
1. ¿Cuál es la diferencia entre dato y base de dato?
2. ¿Qué es el SQL?
3. ¿Cuál es el objetivo delo SQL?
4. ¿Cuáles son los lenguajes que forman parte del SQL?
5. Mencione 3 SGBD que usted conoce.
6. Para que se utiliza la notación BNF.
51. Ilustración 27 Componente de un sistema de bases de datos y su relación.3
Tablas.
Son los objetos que tratan directamente de la información a procesar. El modelo de
datos relacional representa los datos y la asociación entre ellos, mediante una
colección de relaciones o tablas, cada una de las cuales tiene un número de columnas
con nombres únicos que definen un atributo que identifica a un dato común a
almacenar, las tablas tienen a su vez filas que posee información de un registro en
particular.
Ilustración 28 Terminología utilizada por referirse a una tabla y sus elementos.
3 En este modulo mencionaremos el uso de las tablas e índices
52. De los términos asociados a las tablas son: el grado y la cardinalidad, en donde el
grado indica el número de columnas y la cardinalidad el número de filas. Es así,
una tabla con cardinalidad cero es una tabla vacía, es decir, sin datos. Una tabla
puede tener cero filas, pero no cero columnas, al menos deben tener una.
Hay que considerar que el nombre de las tablas y columnas n
un Sistema de Base de Datos y Tablas respectivamente.
deben repetirse en
Tipos de datos más utilizados.
• Tipo CHAR, VARCHAR.
• Tipo NUMBER
• Tipo LONG
• Tipo DATE
1. Relacionar si estos tipos de datos se utilizan en los SGBD Microsoft Access y en
MySqL. Presente un informe grupal (Dos personas).
Creación de Tablas.
Para realizar la creación de Tablas, debemos considerar a un conjunto instrucciones
denominados dentro del SQL como LDD (Lenguaje de definición de datos).
La sintaxis para la creación de tablas dentro de la notación BNF es la siguiente:
Ilustración 29 Sintaxis elemental para la creación de tablas.
Así por ejemplo si se desea crear una tabla estudiante quedara así:
53. Restricciones de Integridad.
Un SGBD permite realizar una serie de controles sobre los objetos de los sistemas de
bases de datos. Uno de estos controles es de impedir anomalías de la información
que administra, por ejemplo, la redundancia de información. Uno de los mecanismos
de este fin es el uso de las restricciones de integridad que se define cuando se crea el
objeto o se modifica si el objeto esta en operación.
Si analizamos la tabla ESTUDIANTE con la sentencia anterior, esta permitirá ingresar
dos filas de datos con la misma información (redundancia).
Para evitar este inconveniente, existe un mecanismo denominado: Restricción de la
Clave Primaria.
Una columna clave primaria PRIMARY KEY, es la(s) columnas que permiten
identificar unívocamente cada fila en una tabla. Adicionalmente una columna clave
primaria no permite que en sus columnas no tenga ningún valor o valor nulo en
ninguna de sus filas.
En el ejemplo de la tabla estudiante, la columna NÚMERO es la que permite
identificar unívocamente cada fila y por lo tanto se la debe identificar como clave
primaria para que el SGBD pueda ser el control respectivo.
VíctorMartínezFalcones-http://avenetenterprise.web.officelive.com
54. Si incluimos la restricción mencionada en la creación de la tabla la sintaxis
quedaría de la siguiente manera:
El ejemplo de la tabla ESTUDIANTE queda redefinido así:
55. Restricción de valor No Nulo.
La restricción de valor No Nulo (NOT NULL) le indica al SGBD que no ingrese un valor
Null como valor, es decir, no permite que el registro de algún campo este en blanco.
Restricción de Unicidad.
La restricción de Unicidad (UNIQUE) le indica al SGBD que no permita que se ingrese
o modifique una fila y de cómo resultado valores repetidos en la columna con esta
restricción. Puede involucrar una o varias columnas.
Restricción de Control de Rango de dominio.
La restricción de Control de Rango de dominio (CHECK) le indica al SGBD que no
permita que se incumpla lo que se estipule en la clausula CHECK cuando se ingrese
o modifique una fila.
Valor por Omisión.
El valor por omisión (DEFAULT) le indica la SGBD que al momento de ingresar un
dato en una determinada columna le asigne un valor preestablecido en dicha columna
cuando no se ha establecido un valor en la inserción.
La sintaxis con las restricciones de integridad expuestas anteriormente quedaría de la
siguiente forma:
Analicemos como podría ser la sentencia SQL que me permita la creación de la tabla
PROFESOR con las siguientes características:
Una sentencia como la que sigue me permite crear la tabla en estudio:
56. Otro ejemplo seria:
En este caso el campo Número y código poseen una claves primarias, al escribir la
siguiente sentencia:
Su semántica es correcta de acuerdo al esquema presentado, pero al ejecutarla nos
dará error porque una tabla no puede tener DOS claves primarias. Lo que si es posible
es que dos o más columnas sean LA clave primaria, cuando en este caso se denomina
CLAVE PRIMARIA COMPUESTA.
En este caso ocurriría una restricción de clave primaria a nivel de tabla. En donde su
sintaxis sería la siguiente:
57. Entonces la sentencia correcta para crear la tabla matricula seria la siguiente:
1. Diseñe individualmente un cuadro sinóptico referente a
creación de tablas.
las restricciones en la
Modificación de tablas
Se modifican las tablas por dos razones: Cambiando la definición de una columna
(MODIFY) o añadiendo una columna a una tabla existente (ADD). La orden con la que
se modifica una tabla es ALTER TABLE, cuyo formato es:
ALTER TABLE <nombre_tabla>
[ ADD (<columna1> [,<columna2> . . .)] ]
58. O
[ MODIFY (<columna1> [,<columna2> . . .)] ]
[ ADD CONSTRAINTS <restriccion> ]
[ DROP CONSTRAINTS <restriccion> ]
Ejercicio resuelto con creación y modificación de tablas:
Crear la tabla FABRICANTES y ARTÍCULO con las siguientes columnas y
restricciones.
Solución:
Create table FABRICANTES (
cod_fabricante integer auto_increment primary key,
ADD añade una columna o más al final de una tabla.
MODIFY modifica una tabla o más columnas existentes en la tabla.
ADD C NSTRAINTS añade una restricción a la definición de la tabla.
DROP CONSTRAINTS elimina una restricción de la tabla.
59. nombre varchar(50),
pais varchar(20) default 'España',
constraint nombre_mayus check(nombre=upper(nombre)),
constraint pais_mayus check(pais=upper(pais)));
Create table ARTICULOS (
cod_articulo int,
cod_fabricante
peso int,
int,
categoria varchar(20),
primary key(cod_articulo,cod_fabricante,peso,categoria),
constraint pre_venta check(precio_venta>0),
constraint pre_costo check(precio_costo>0),
constraint cat_categoria check(categoria
in('Primera','Segunda','Tercera')));
Añadir la restricción de clave ajena a la columna COD_FABRICANTE de la tabla
ARTICULOS para que referencie a la tabla FABRICANTES. Realiza un borrado en
cascada.
Alter table ARTICULOS add foreign key(cod_fabricante)
references FABRICANTES(cod_fabricante);
Supresión de tablas
La orden DROP TABLE suprime una tabla de la base de datos. Cada usuario puede
borrar sus propias tablas. El formato de dicha orden es:
DROP TABLE <nombre_tabla> [CASCADE CONSTRAINTS]
Tendremos que tener cuidado con intentar borrar tablas cuyas claves principales estén
referenciadas como claves ajenas en otras tablas. Como por ejemplo, si tenemos dos
tablas como:
PROVINCIA (Código_Provincia, Nombre)
EMPLEADO (Código_empleado, Nombres, apellidos, Dirección,
Código_Provincia)
1. Ingrese las sentencias del ejemplo anterior en el SGBD y presentar un informe
contestando las siguientes preguntas:
a) ¿Qué dificultades obtuvo al momento de ejecutar los códigos?
b) ¿Qué aparece en cada ejercicio luego de ejecutar el código sin errores?
c) ¿Qué nuevos factores debe considerar para ingresar las sentencias SQL?
60. Si intentásemos suprimir la tabla PROVINCIA:
DROP TABLE PROVINCIAS
Nos daría un error debido a que podrían existir clave(s) ajena haciendo referencia a
esa clave(s) primaria, es decir, existe una restricción de clave ajena (clave foránea) en
la tabla EMPLEADO que referencia a la clave primaria de la tabla PROVINCIA.
Entonces, para borrar esta tabla hay que usar la opción CASCADE CONSTRAINTS,
que suprimirá todas la
tabla borrada.
Ejemplo:
restricciones de integridad que se refieran a claves de la
DROP TABLE PROVINCIAS CASCADE CONSTRAINTS
1. Presente un informe individual ilustrado en la que detalle los pasos para crear, editar y
eliminar tablas desde el sistema gestor de base de datos propuesto y explicado por el
docente.
Se calificara: imágenes, pasos detallados, conclusiones, recomendaciones y defensa.
Índices.
Uno de los objetivos de los índices es la de controlar la unicidad de los datos en las
columnas. Dicho de otra manera un índice es como un índice de un libro que
ayuda a encontrar la información mas eficientemente. Normalmente utilizan
estructuras de arboles balanceados (B-Tree), para las páginas de los índices que
utilizan punteros de sus registros a las filas de los datos.
61. Ilustración 30 Estructura de los Índices.
Aunque no está definido en el estándar SQL, casi todos los SGBD los utilizan.
Normalmente, crean automáticamente un índice por cada tabla basada en su clave
primaria.
Los índices no solo proporciona ventajas, sino también desventajas, por lo que
tendríamos que tener presente para decidir cuando son necesarios.
62. Ilustración 31 Ventajas y desventajas de los índices.
Creación, Modificación y Eliminación de Índices.
Creación de índices.
Al no estar estandarizado el uso de índices, cada SGBD utiliza su propia sintaxis,
aunque la mayoría utiliza una estructura más o menos par
grafica:
cida a la siguiente
Ilustración 32 Sintaxis para la creación de índices.
Ejemplo:
Ventajas.
considerablemente.
SereduceelnumerodefilasqueelSGBDdebe
leer en una consulta.
Desventajas.
secundaria.
Lasoperacionesdeingresoyeliminacion
yaquenoeliminararegistrossolamente.
63. Modificación de índices.
A diferencia de la creación de índices, en la que los SGBD proveen de una sintaxis
similar, no ocurre lo mismo con la modificación de estos. Mas aun, la mayoría de
SGBD ni siquiera proveen de una sentencia para la modificación de índices.
Entonces, la solución, seria eliminarlo primero y luego crear el índice nuevamente
con el mismo nombre y las características deseadas.
Eliminación de índices.
Tenemos más opciones que para la creación de los mismos.
Ilustración 33 Eliminación de Índices. Formato I.
Ilustración 34 Eliminación de Índices. Formato II.
Ejemplo:
64. Crear una tabla llamada PELÍCULAS con los siguientes campos y restricciones.
La clave primaria de esta tabla es el campo COD_PELÍCULA.
Crea la tabla CLIENTES con los siguientes campos y
restricciones: La clave primaria de esta tabla es el campo
DNI_CLIENTE
Crear las siguientes tablas:
Crear una tabla llamada PERSONAS con los campos (dni, nombre, apellido1,
apellido2).
Crear una tabla llamada VEHICULOS con los campos (CodigoVehiculo, marca,
modelo, cilindrada).
Crear una tabla llamada PERSONAS_VEHICULOS con los campos (dni,
CodigoVehiculo).
Crear una tabla llamada FAMILIA con los campos (CodigoFamilia,
DescripcionFamilia).
Identificar las claves primarias de cada tabla y las claves foráneas teniendo en cuenta
que 1 PERSONA puede tener 0 o varios VEHICULOS. 1 FAMILIA tendrá 2 o más
componentes, 1 PERSONA puede pertenecer a 1 o a ninguna familia.
Crear las siguientes tablas en MySQL especificando en cada una de ellas la clave
primaria y ajena(s) en caso de que las haya. Se debe permitir la eliminación de registros
en cascada.
65. Del siguiente Diseño fisco de datos, realizar la creación de tablas:
Sea el diseño lógico siguiente:
TRABAJADOR (Id_t, nombre, apellidos, tarifa, oficio,
id_supervisor) EDIFICIO (Id_E, dirección, tipo, nivel_calidad,
categoría) ASIGNACION (Id_T, ID_E, fecha_inicio, numero_dias)
Realizar la creación de tablas e ingresar al menos 3 registros en cada tabla.
66. UNIDAD N° 7: LENGUAJE DE MANIPULACIÓN DE DATOS.
Competencia.
Utiliza el lenguaje de manipulación de datos para la implementación de bases de
datos en los sistemas gestores de bases de datos Access y MySql con orden,
respeto, precisión y pulcritud.
En SQL92 la manipulación de datos se hace básicamente con las sentencias
SELECT (seleccionar), UPDATE (actualizar), DELETE (borrar) e INSERT (insertar)
que constituyen el lenguaje de manipulación de datos básico.
INSERT.
Inserta una o más filas nuevas dentro de la tabla especificada. Cuando se utilice la
cláusula VALUES sólo se insertará una fila.
INSERT INTO {<nombre de tabla>} [({<nombre de columna>},)]
{VALUES ({<literal> | :<variable host> | NULL},) }
Ejemplo usando sentencias INSERT.
Se dispone de las siguientes tablas de datos EMPLE y DEPART:
¿Qué significa las siglas LDD?
¿Por qué es importante el uso correcto del LDD?
¿Cuáles son las sentencias del LDD?
¿Cuáles son los objetos que gestiona un SGBD?
¿Cuáles son los SGBD que usa para sus bases de datos?
¿Para que se usa el Power Designer?
67. 1. Realizar su respectiva creación de tablas.
Create table alumnos(
expediente int(10) primary key,
nombre varchar(50),
localidad varchar(50),
fecha_nac date,
direccion varchar(50),
curso int(2),
nivel varchar(10),
faltas int(3));
2. Realizar la inserción de todos registros mostrados en la figura.
Insert into alumnos values(123456,'Juan Miguel Soler
Bakero','Murcia','1995/10/10','Gran v’a, 2, 4A',1,'ESO',15);
Insert into alumnos values(654321,'Laura G—mez
Fern‡ndez','Lorca','1994/10/05','Junterones, 10,
5B',2,'ESO',25);
Insert into alumnos values(765432,'Beatriz Mart’nez
Hern‡ndez','Murcia','1993/05/05','Plaza Mayor, 6,
3B',3,'ESO',5);
Insert into alumnos values(987654,'Diego Mar’n
Llorente','Alhama de Murcia','1990/03/06','Diego de la Cierva,
5, 7A',1,'BACHILLER',34);
Insert into alumnos values(445544,'Juan Francisco Cano
Riquelme','Murcia','1992/01/07','Plaza de Belluga, 3,
4A',4,'ESO',13);
Insert into alumnos values(223322,'Raquel Riquelme
Rubio','Lorca','1990/23/11','San Juan, 14,
3B',1,'BACHILLER',7);
68. 1. Realizar la inserción de los 5 últimos registros de la tabla ALUMNOS.
SELECT.
Selecciona filas de una o más tablas. Su sintaxis:
SELECT [ALL | DISTINCT ] <lista de selección>
FROM { {<nombre de tabla>},
[WHERE <condición de búsqueda> ]
[GROUP BY {<nombre de columna> | <número de columna>},]
[[ORDER BY {{<nombre de columna | <número de
DESC] }, ] |
columna>} [ASC |
<lista de selección>::= {* | {<expresión> | <nombre de
tabla>.<nombre
tabla>.*}
de columna> | <nombre de columna> | <nombre de
La palabra clave DISTINCT indica que si existen filas idénticas, sólo se mostrará
una de ellas.
Ejemplo usando sentencias SELECT.
Se dispone de las siguientes tablas de datos EMPLE y DEPART:
1. Ingrese las sentencias del ejemplo anterior en el SGBD y presentar un informe
contestando las siguientes preguntas:
a) ¿Qué dificultades obtuvo al momento de ejecutar los códigos?
b) ¿Qué aparece en cada ejercicio luego de ejecutar el código sin errores?
c) ¿Qué nuevos factores debe considerar para ingresar las sentencias SQL?
69. 1. Realizar su respectiva creación de tablas.
2. Realizar la inserción de todos registros mostrados en la figura.
3. Realizar las siguientes consultas:
3.1. Mostrar el apellido, oficio y número de departamento de cada empleado.
select apellido, oficio, dept_no from emple;
3.2. Mostrar todos los datos de todos los empleados.
select * from emple;
3.3. Datos de los empleados ordenados por número de departamento descendentemente.
select * from emple order by dept_no desc;
3.4. Datos de los empleados ordenados por número de departamento descendentemente y
dentro de cada departamento ordenados por apellido ascendentemente.
select * from emple order by dept_no desc, apellido;
3.5. Mostrar los datos de los empleados cuyo salario sea mayor que 2000000.
Select * from emple where salario>2000000;
3.6. Mostrar los datos de los empleados cuyo oficio sea “ANALISTA”.
select * from emple where oficio='ANALISTA'
3.7. Seleccionar el apellido y oficio de los empleados del departamento número 20.
select apellido, oficio from emple where dept_no=20;
3.8. Mostrar los empleados cuyo departamento sea 10 y cuyo oficio sea “ANALISTA”. Ordenar
el resultado por apellido.
select * from emple where dept_no=10 and oficio='ANALISTA' order by
apellido;
3.9. Ordenar los empleados por oficio, y dentro de oficio por apellido.
select * from emple order by oficio, apellido
70. 3.10. Mostrar los apellidos de los empleados cuyo oficio sea “VENDEDOR”, “ANALISTA” o
“EMPLEADO”.
select apellido from emple where
('VENDEDOR','ANALISTA','EMPLEADO');
oficio in
3.11. Mostrar los apellidos de los empleados cuyo oficio no sea ni “ANALISTA” ni “EMPLEADO”,
y además tengan un salario mayor de 200000.
select apel ido from emple where oficion not in
('ANALISTA','EMPLEADO') and salario>200000;
3.12. Obtener los apellidos de todos los empleados en minúscula.
select lower(apellido) from emple;
3.13. Mostrar los datos de los empleados que hayan sido contratados en el año 1992.
select * from emple where year(fecha_alt)=1992;
3.14. Mostrar los datos de los empleados del departamento 10 que no tengan comisión.
select * from emple where dept_no=10 and comision is null;
1. De las tablas EMPLE y DEPART realizar las siguientes consultas:
1.1. Mostrar el número, nombre y localización de cada departamento.
1.2. Datos de los empleados ordenados por apellidos.
1.3. Mostrar todos los datos de los empleados ordenados por apellido.
1.4. Seleccionar los empleados cuyo oficio sea “VENDEDOR” Mostrar los datos
ordenados por apellido.
1.5. Seleccionar de la tabla EMPLE los empleados cuyo apellido empiece por “A”.
UPDATE.
Modifica las columnas seleccionadas de una tabla en todas las filas que satisfacen
una condición de búsqueda.
UPDATE {<nombre de tabla>}
SET {<nombre de columna> = {<expresión> | NULL}},
[WHERE <condición de búsqueda>]
1. Ingrese las sentencias del ejemplo anterior en el SGBD y presentar un informe
contestando las siguientes preguntas:
a) ¿Qué dificultades obtuvo al momento de ejecutar los códigos?
b) ¿Qué aparece en cada ejercicio luego de ejecutar el código sin errores?
c) ¿Qué nuevos factores debe considerar para ingresar las sentencias SQL?
71. 1. Realizar su respectiva creación de tablas.
2. Realizar la inserción de todos registros mostrados en la figura.
3. Establecer el número de plazas de todos los hospitales a 250.
Update HOSPITALES set num_plazas = 250
4. Poner en 2000 el número de plazas del hospital número 3.
Update HOSPITALES set num_plazas=2000 where cod_hospital=3
5. Con una sentencia UPDATE dobla el número de plazas de los hospitales cuya letra empiece con
“R”.
Update HOSPITALES
‘R*’
set num_plazas = num_plazas*2 where nombre like
1. Cree 5 sentencias usando la clausula UPDATE en la tabla HOSPITALES anotando el
enunciado correspondiente.
DELETE
Borra una o más filas de una tabla o vista. Si no se especifica la cláusula WHERE,
se borran todas las filas de la tabla señalada en la cláusula FROM. Si se especifica
la cláusula WHERE sólo serán borradas aquellas filas que hagan la condición de
búsqueda verdadera.
Su sintaxis:
1. Ingrese las sentencias del ejemplo anterior en el SGBD y presentar un informe
contestando las siguientes preguntas:
a) ¿Qué dificultades obtuvo al momento de ejecutar los códigos?
b) ¿Qué aparece en cada ejercicio luego de ejecutar el código sin errores?
c) ¿Qué nuevos factores debe considerar para ingresar las sentencias SQL?
73. 1. Realizar su respectiva creación de tablas.
2. Realizar la inserción de todos registros mostrados en la figura.
3. Borrar el registro de la persona cuyo DNI es igual a “22233311”.
Delete from PERSONA where dni = 22233311;
4. Borrar los registros de las personas con salario de 1900 y su función es de medico.
Delete from PERSONA where salario = 1900 and function = ‘MEDICO’
5. Borrar los registros de las personas que posean un salario entre 1200 a 1500
Delete from PERSONA where salario between 1200 to
6. Borrar todos los registros cuyos apellidos sean “Martínez Molina”
1500
Delete from PERSONA where apellidos like ‘Martínez Molina*’
1. Cree 5 sentencias usando la clausula DELETE en la tabla PERSONAS anotando su
enunciado correspondiente.
1. Ingrese las sentencias del ejemplo anterior en el SGBD y presentar un informe
contestando las siguientes preguntas:
a) ¿Qué dificultades obtuvo al momento de ejecutar los códigos?
b) ¿Qué aparece en cada ejercicio luego de ejecutar el código sin errores?
c) ¿Qué nuevos factores debe considerar para ingresar las sentencias SQL?
74. UNIDAD N° 8: DESARROLLO DE UNA APLICACIÓN DE GESTIÓN.
Competencia.
Aplica los conocimientos de diseño, implementación de bases de datos y diseño de
servicios de presentación en entornos gráficos para desarrollar una aplicación
informática de gestión de una manera ágil, ordenada y eficiente.
1. Presentar un informe de tres personas sobre: ¿Cómo se obtiene un presupuesto
económico de un software?
Para el informe considere: Pasos para realizar el presupuesto, conclusiones y
recomendaciones.
Se calificará: Informe detallado, Defensa y diapositivas.
2. Organice una mesa redonda en la que se discutirá el tema: “¿Cómo se obtiene un
presupuestoeconómicodeunsoftware?”.Paraeldesarrollodelamismaseguirla
siguiente secuencia:
a. Presentar a los participantes de la mesa.
b. Señalar las normas de desarrollo del evento.
c. Realizar las exposiciones con la participación de cada estudiante.
d. Resumir el contenido expuesto por el moderador.
e. Inicia el foro.
f. Formular conclusiones.
1. Analizar las diapositivas con el tema “Desarrollo de una aplicación de gestión”
presentadas por el docente. Seguir la siguientes pautas:
a. Analizar el contenido investigado.
b. Seleccionar las ideas principales.
c. Investigar el significado de cada idea
d. Sintetizar en oraciones las ideas principales.
e. Realizar un resumen con las oraciones elaboradas.
f. Presentar un informe detallado sobre la misma. Para el informe se considera los
tópicos, conclusiones y recomendaciones.
1. ¿Qué es Visual Basic?
2. ¿Cuáles son las versiones que visual Basic tiene en el mercado?
3. ¿Qué relación tiene una base de datos con los sistemas informáticos?
4. ¿Qué relación tiene un SGBD con un lenguaje de programación?
5. ¿Por qué se considera el SQL como un sub-lenguaje?
6. ¿Por qué es importante enlazar una base de dato con una aplicación informática de
gestión?
7. Listar las aplicaciones del Software.
75. Informe de especificación de requisitos.
Parte I. Identificación del Contexto.
1. Caratula.
2. Descripción de la institución.
3. Organigrama de la institución.
4. Antecedentes.
5. Árbol de problema sobre los procesos manuales y tediosos.
6. Procesos.
7. Entorno técnico.
Parte II. Especificación de los Requisitos.
1. Necesidad y justificación del nuevo producto.
2. Objetos
2.1. Tablas de la Base de datos.
2.2. Formularios.
2.3. Reportes.
3. Procesos y funciones propuestos, clasificadas por:
3.1. Ingreso.
3.2. Consulta.
3.3. Búsqueda.
3.4. Actualizaciones.
3.5. Calculo.
3.6. Reporte.
3.7. Respaldo.
3.8. Seguridad.
4. Delimitación.
5. Modelado de datos.
5.1. Diagrama Contextual.
5.2. Diagrama Físico de datos.
6. Modelado funcional y flujo de la información.
7. Métrica basada en líneas de código.
Parte III. Manual de Usuario.
1. Introducción.
2. Generalidades del sistema.
2.1. Requisitos de Hardware.
2.2. Requisitos de Software.
2.3. Instalación.
76. 3. Descripción detallada del sistema.
3.1. Menú Principal.
3.2. Formularios en general.
4. Recomendaciones.
1. Presentar un informe detallado sobre la implantación de una base de datos con el
lenguaje de programación y SGBD indicados por el docente.
Para el informe considere: Ventanas capturadas, explicación y conclusiones y
recomendaciones