TAREA 1: Mapa Mental de Base de Datos
Componentes esenciales de una Importancia de la administración de la
Base de Datos: BASE DE DATOS Base de Datos.
1. Registro
2. Campo
3. Tablas Las Bases de Datos se clasifican en:
4. Datos
5. Información
6. Llave primaria
7. Índice
8. Consultas
9. Formularios
10. Informes 1. Bases de Datos Estáticas.
Y
2. Bases de Datos Dinámicas. Agrupar y almacenar todos los datos de
Características principales de
la empresa en un único lugar.
los sistemas de Base de Datos.
Facilitar que se compartan los datos
entre los diferentes miembros de la
Ventajas y Desventajas de las Bases de Datos. empresa.
Evitar la redundancia y mejorar la
organización de la agenda.
Realizar una interlocución adecuada con
los clientes.
Ventajas: Desventajas: 1. Independencia lógica y física
1. Control sobre la redundancia de los datos.
1. Complejidad. 2. Redundancia mínima.
de datos.
2. Coste del 3. Acceso concurrente por parte
2. Consistencia de datos.
equipamiento de múltiples usuarios.
3. Compartir datos.
4. Mantenimiento de adicional. 4. Integridad de los datos.
estándares. 3. Vulnerable a los 5. Consultas complejas
5. Mejora en la integridad de fallos. optimizadas.
datos. 6. Seguridad de acceso y
6. Mejora en la seguridad. auditoría.
7. Mejora en la accesibilidad a 7. Respaldo y recuperación.
los datos. Acceso a través de lenguajes.
8. Mejora en la productividad. .de programación estándar.
9. Mejora en la productividad.
TAREA 2: Cuadro Comparativo de Sistema Gestor de Base de Datos
Oracle DB
Tipos de Manejador de PostgreSQL
Base de Datos. SQL Server
Definición de los datos.
Puede definir todos los objetos de la Base de Datos partiendo de
definiciones en versión fuente para convertirlas en la versión objeto.
Construir la B.D.
Guardar los datos en algún medio controlado por el mismo SGBD.
Características del Garantiza su seguridad frente a ataques o simplemente impedir su acceso
SGBD: Seguridad e integridad de los datos.
a usuarios no autorizados por cualquier razón.
Realiza consultas, actualiza y genera informes.
Manipulación de los datos.
Abstracción de datos e
independencia.
Seguridad de datos.
Un mecanismo de bloqueo para el
Ventajas del SGBD. acceso concurrente.
Un mecanismo de bloqueo para el
Sistema Gestor acceso concurrente.
de Base de Registro y auditoría de actividad.
Datos (DBMS).
El software muy complejo y las personas que vayan a usarlo deben tener
Complejidad conocimiento de las Funcionalidades del mismo para poder aprovecharlo al
máximo.
La complejidad y la gran cantidad de funciones que tienen hacen que sea
Tamaño un software de gran tamaño, que requiere de gran cantidad de memoria
Desventajas del SGBD.
para poder correr.
Los requisitos de hardware para correr un SGBD por lo general son
Coste del hardware adicional. relativamente altos, por lo que estos equipos pueden llegar a costar gran
cantidad de dinero.
La información.
Los motores de bases de datos que
permiten el acceso, bloqueo y
Funciones de Sistema modificación de información.
Gestor de la Base de Los esquemas de base de datos,
Datos que definen las estructuras lógicas
de las bases de datos.
TAREA 3: Cuadro comparativo de 3 tipos de administradores de BD.
TAREA 4: Ejercicios de LDD y LMD
ACTIVIDAD 1
CREAMOS UNA BASE DE DATOS. (CREATE DATABASES)
1. Creamos la base de datos llamada Curso_Sgtos_1.
2. Aparece un diálogo donde debemos ingresar el nombre de la base de datos a
crear, la llamaremos " Curso_sgtos_1".
3. Seleccionar el botón de “Save”.
ACTIVIDAD 2
CREAR UNA TABLA (CREATE TABLE).
2.1 Creamos una tabla llamada /agenda. Nos aparece un mensaje de error
porque usamos un carácter inválido ("/") para el nombre.
2.2. Creamos la tabla agenda con los siguientes caracteres.
2. 3- Intente crearla nuevamente. Aparece mensaje de error.
2.4. Visualizar la estructura de la tabla agenda.
2.5. Eliminar la tabla agenda.
[Link] eliminar nuevamente la tabla. Debe aparecer un mensaje de error.
ACTIVIDAD 3
Restricción check
Una empresa tiene registrados datos de sus empleados en una tabla llamada
"empleados".
3.1- crear una tabla llamada empleados con la con la siguiente
estructura:
3.2- Agregue una restricción "check" para asegurarse que no se ingresen valores
negativos para el sueldo.
3.3- Ingrese algunos registros válidos:
3.4. Intente agregar otra restricción "check" al campo sueldo para asegurar que
ninguno supere el valor 5000, la sentencia no se ejecuta porque hay un
sueldo que no cumple la restricción.
3.5. Elimine el registro infractor.
3.6. Vuelva a crear la restricción.
3.7. Establezca una restricción para controlar que la fecha de nacimiento que se
ingresa no supere la fecha actual.
[Link] una restricción "check" para "cantidadhijos" que permita solamente
valores entre 0 y 15.
3.9. Vea todas las restricciones de la tabla (5 filas)
3.10. Intente agregar un registro que vaya contra alguna de las restricciones al
campo "sueldo".
Mensaje de error porque se infringe la restricción
"CK_empleados_sueldo_positivo".
3.11. Intente agregar un registro con fecha de nacimiento futura. Mensaje de
error.
3.12. intente modificar un registro colocando en "cantidadhijos" el valor "21".
Mensaje de error.
ACTIVIDAD 4
RESTRICCIÓN (PRIMARY KEY).
Una empresa tiene registrados datos de sus empleados en una tabla llamada
"empleados".
4.1. Creamos una tabla llamada empleados.
4.2. Ingrese algunos registros, dos de ellos con el mismo número de documento:
4.3. Intente establecer una restricción "primary key" para la tabla para que el
documento no se repita ni admita valores nulos. No lo permite porque la tabla
contiene datos que no cumplen con la restricción, debemos eliminar (o
modificar) el registro que tiene documento duplicado.
4.4. No lo permite porque la tabla contiene datos que no cumplen con la
restricción, debemos eliminar (o modificar) el registro que tiene documento
duplicado.
4.4. Establezca la restricción "primary key" del punto 3.
4.5. Intente actualizar un documento para que se repita.
No lo permite porque va contra la restricción.
4.6. Intente establecer otra restricción "primary key" con el campo "nombre".
No lo permite, sólo puede haber una restricción "primary key" por tabla.
4.7. Intente ingresar un registro con valor nulo para el documento.
No lo permite porque la restricción no admite valores nulos.
4.8. Vea las restricciones de la tabla empleados (2 filas).
Actividad 5 Restricción unique.
Una empresa de remises tiene registrada la información de sus vehículos en una
tabla llamada "remis".
5.1. Creemos una tabla llamada Remises.
5.2. Ingrese algunos registros, 2 de ellos con patente repetida y alguno con patente
nula:
5.3. Intente agregar una restricción "unique" para asegurarse que la patente del
remises no tomará valores repetidos. No se puede porque hay valores
duplicados.
4.4. Elimine el registro con patente duplicada y establezca la restricción.
4.5. Intente ingresar un registro con patente repetida (no lo permite).
4.6. Ingresar un registro con valor nulo para el campo "patente". Lo permite.
4.7. Muestre la información de las restricciones.
ACTIVIDAD 6
ELIMINAR RESTRICCIONES (ALTER TABLE DROP CONSTRAINT).
Una playa de estacionamiento almacena cada día los datos de los vehículos que
ingresan en la tabla llamada "vehículos".
6.1. Creamos una tabla llamada vehículos.
6.2. Agregue una restricción "primary key" que incluya los campos "patente" y
"horallegada".
6.3. Ingrese un vehículo:
6.4. Intente ingresar un registro repitiendo la clave primaria. No se permite.
6.5. Ingrese un registro repitiendo la patente pero no la hora de llegada:
6.6. Ingrese un registro repitiendo la hora de llegada pero no la patente:
6.7. Vea todas las restricciones para la tabla "vehiculos".
6.8. Elimine la restricción "primary key".
6.9. Vea si se han eliminado.
ACTIVIDAD 7
Tipos de índices (create y drop)
7.1. Creamos la tabla llamada agenda.
7.2. Ingrese los siguientes registros:
7.3. Cree un índice común por el campo apellido.
7.4. Cree un índice único por el mail.
7.5. Borre los dos índices.
ACTIVIDAD 8
RESTRICCIONES (FOREIGN KEY)
Una empresa tiene registrados sus clientes en una tabla llamada "clientes",
también tiene una tabla "provincias" donde registra los nombres de las provincias.
8.1- Cree las tablas "clientes" y "provincias":
8.2- Intente agregar una restricción "foreign key" a la tabla "clientes" que haga
referencia al campo "codigo" de "provincias" (No se puede porque "provincias"
no tiene restricción "primary key" "unique").
8.3. Establezca una restricción "primary key" al campo "código" de "provincias".
8.4- Ingrese algunos registros para ambas tablas:
8.5- Intente agregar la restricción "foreign key" del punto 2 a la tabla "clientes"
No se puede porque hay un registro en "clientes" cuyo valor de
"codigoprovincia" no existe en "provincias".
8.6- Elimine el registro de "clientes" que no cumple con la restricción y establezca la
restricción nuevamente.
8.7- Intente agregar un cliente con un código de provincia inexistente en
"provincias". No se puede.
8.8- Intente eliminar el registro con código 3, de "provincias".
No se puede porque hay registros en "clientes" al cual hace referencia.
8.9- Elimine el registro con código "4" de "provincias".
Se permite porque en "clientes" ningún registro hace referencia a él.
8.10- Intente modificar el registro con código 1, de "provincias".
No se puede porque hay registros en "clientes" al cual hace referencia.
ACTIVIDAD 9
INSERTAR Y RECUPERAR REGISTROS DE UNA TABLA (INSERT INTO - SELECT).
Trabaje con la tabla "agenda" que almacena información de sus amigos.
9.1. Cree una tabla llamada "agenda". Debe tener los siguientes campos:
9.2. Visualice la estructura de la tabla "agenda".
9. 3. Ingrese los siguientes registros:
9.4. Seleccione todos los registros de la tabla:
9.5. Elimine la tabla "agenda":
9.6. Intente eliminar la tabla nuevamente (aparece un mensaje de error)
ACTIVIDAD 10
Recuperar algunos campos (select)
Un videoclub que alquila películas en video almacena la información de sus
películas en alquiler en una tabla llamada "películas".
10.1. Creamos una tabla llamada películas:
10.2. Vea la estructura de la tabla.
10.3. Ingrese a los siguientes registros:
13.4. Realice un "select" mostrando solamente el título y actor de todas las
películas.
13.5. Muestre el título y duración de todas las películas.
13.6. Muestre el título y la cantidad de copias.
ACTIVIDAD 11
Recuperar algunos registros (where)
Trabaje con la tabla "agenda" en la que registra los datos de sus amigos.
11.1. Cree la tabla, con los siguientes campos: apellido (cadena de 30), nombre
(cadena de 20), domicilio (cadena de 30) y teléfono (cadena de 11).
11.2. Visualice la estructura de la tabla "agenda".
11.3. Ingrese los siguientes registros:
11.4. Seleccione todos los registros de la tabla agenda.
11.5. Seleccione el registro cuyo nombre sea "Marisa" (1 registro).
11.6. Seleccione los nombres y domicilios de quienes tengan apellido igual a
"López" (3 registros).
11.7. Muestre el nombre de quienes tengan el teléfono "4545454" (2 registros).
ACTIVIDAD 12
Actualizar registros (update)
Trabaje con la tabla "agenda" que almacena los datos de sus amigos.
12.1. Cree la tabla:
12.2. Ingrese los siguientes registros:
12.3. Modifique el registro cuyo nombre sea "Juan" por "Juan José" (1 registro
afectado).
[Link] los registros cuyo número telefónico sea igual a "4545454" por
"4445566"
(2 registros afectados).
12.5. Actualice los registros que tengan en el campo "nombre" el valor "Juan" por
"Juan Jose" (ningún registro afectado porque ninguno cumple con la
condición del "where").
12.6. Luego de cada actualización ejecute un select que muestre todos los
registros de la tabla.
ACTIVIDAD 13
BORRAR REGISTROS (DELETE)
13.1. Cree la tabla con los siguientes campos: apellido (cadena de 30), nombre
(cadena de 20), domicilio (cadena de 30) y telefono (cadena de 11):
13.2. Ingrese los siguientes registros (insert into):
13.3. Elimine el registro cuyo nombre sea "Juan" (1 registro afectado).
13.4. Elimine los registros cuyo número telefónico sea igual a "4545454" (2
registros afectados).
13.5. Muestre la tabla.
13.6. Elimine todos los registros (2 registros afectados).
16.7. Muestre la tabla.
ACTIVIDAD 14
COMANDO TRUNCATE TABLE
Una farmacia guarda información referente a sus medicamentos en una tabla
llamada "medicamentos".
14.1. Cree la tabla con la siguiente estructura:
14.2. Ingrese los siguientes registros:
14.3. Elimine todos los registros con "delete".
14.4. Ingrese 2 registros:
14.5. Vea los registros para verificar que continuó la secuencia al generar el valor
para "código".
14.6 Vacíe la tabla con truncate table.
14.7. Ingrese el siguiente registro:
14.8. Vea los registros para verificar que al cargar el código reinició la secuencia en
1.
TAREA 5: Cuadro sinóptico de los modelos de datos
Modelo Jerárquico
Cada registro
tiene un único Los nodos en un mismo nivel
nodo raíz. son nodos padre, cada nodo
Modelo Presentar los datos en una padre tiene el mismo nodo raíz,
jerárquico estructura de árbol invertido. De los y puede tener nodos hijos, pero
anteriores los nodos hijos solo pueden
surgen nodos tener un nodo padre.
(registros).
Modelo de Redes
Registros principales Cada uno de estos conjuntos consiste en un
múltiples. registro propietario o principal y uno o más
registros miembros o secundarios
Modelo
de redes
Relaciones de uno a
muchos o de Puede ser miembro o secundario en
muchos a muchos diferentes conjuntos
entre registros
vinculados
Modelo Entidad Relación.
Relación (el vínculo que define la
dependencia entre varias entidades)
Entidades (son los
objetos que se
representan en la
Se representan con
base de datos).
un rectángulo, las
Modelo relaciones con un
entidad relación. rombo y los Atributos (son el
atributos con un contenido de la
óvalo. entidad, sus
características).
Cardinalidad (es la participación entre
entidades, que pueden ser uno a uno, uno a
varios o varios a varios).
Modelo Relacional.
Cada columna enumera
un atributo de la entidad
en cuestión.
Ordena los datos en Cada fila, también
tablas (relaciones) denominada tupla, incluye
datos sobre una instancia
Basado en específica de la entidad en
lógica de predicado cuestión.
Modelo relacional.
y teoría de
conjuntos. Las bases relacionales generalmente se
escriben en Lenguaje de Consulta
Estructurado.
Modelo de Objeto.
Los objetos de la base de datos
Sistema gestor de base de aparecen como objetos de un
datos orientada a lenguaje de programación.
objetos (ODBMS, Object
Database Management Cada fila, también denominada
Se representa System). tupla, incluye datos sobre una
Modelo mediante objetos
instancia específica de la entidad
de objeto. como los presentes Determinado por las en cuestión.
en la programación implementaciones de los
orientada a objetos. métodos detectados en el
análisis.
TAREA 6: Ejercicios de Diagrama E-R
EJERCICIO 1
Considera la siguiente relación PERSONA-TIENE HIJOS-PERSONA. Una persona puede
tener muchos hijos/as o ninguno. Una persona siempre es hijo/a de otra persona. Los
atributos de la persona son dni, nombre, dirección y teléfono. Transformarlo al modelo
relacional.
Nombre
DNI
(1,M)
Tiene
Persona
Teléfono
(1,1)
Dirección (1,1)
Hijos
EJERCICIO 2
A partir del siguiente enunciado se desea realizar el modelo entidad-relación.
“Se desea informatizar la gestión de una empresa de transportes que reparte paquetes
por toda España. Los encargados de llevar los paquetes son los camioneros, de los que se
quiere guardar el dni, nombre, teléfono, dirección, salario y población en la que vive. De
los paquetes transportados interesa conocer el código de paquete, descripción,
destinatario y dirección del destinatario. Un camionero distribuye muchos paquetes, y un
paquete sólo puede ser distribuido por un camionero.
De las provincias a las que llegan los paquetes interesa guardar el código de provincia y el nombre. Un paquete sólo puede llegar a una
provincia. Sin embargo, a una provincia pueden llegar varios paquetes.
De los camiones que llevan los camioneros, interesa conocer la matrícula, modelo, tipo y potencia. Un camionero puede conducir
diferentes camiones en fechas diferentes, y un camión puede ser conducido por varios camioneros”.
Código Destinatario
Población
Nombre
(1,M) (1,1)
Teléfono Camionero Distribuye Paquete
(1,1) Destinado
(1,M)
Salario
Dirección Descripción
DNI Conduce
(1,M)
Dirección
Código Provincia
(M,M
)
Tipo
Camión Matricula Nombre
Potencia
Modelo
EJERCICIO 3
A partir del siguiente supuesto diseñar el modelo entidad-relación: “Se desea diseñar una base de datos para almacenar y gestionar la
información empleada por una empresa dedicada a la venta de automóviles, teniendo en cuenta los siguientes aspectos: La empresa
dispone de una serie de coches para su venta. Se necesita conocer la matrícula, marca y modelo, el color y el precio de venta de cada
coche.
Los datos que interesa conocer de cada cliente son el NIF, nombre, dirección, ciudad y número de teléfono: además, los clientes se
diferencian por un código interno de la empresa que se incrementa automáticamente cuando un cliente se da de alta en ella. Un cliente
puede comprar tantos coches como desee a la empresa. Un coche determinado solo puede ser comprado por un único cliente.
El concesionario también se encarga de llevar a cabo las revisiones que se realizan a cada coche. Cada revisión tiene asociado un código
que se incrementa automáticamente por cada revisión que se haga. De cada revisión se desea saber si se ha hecho cambio de filtro, si
se ha hecho cambio de aceite, si se ha hecho cambio de frenos u otros. Los coches pueden pasar varias revisiones en el concesionario”.
NIF
Matricula
Precio
Nombre
Marca
(1,M) (1,M)
Dirección Cliente Compra Coche
Modelo
Teléfono (1,M)
Ciudad Pasa Color
Código
Revisión
Filtro
Aceite Frenos
TAREA 7: Cuadro sinóptico del Modelo Relacional
Modelo Relacional y entidad-relación
Modelo E - R
Parte de una descripción textual.
Se hace un listado de verbos y sustantivos.
Diferencia Se buscan las posibles entidades, relaciones y
modelo atributis.
relacional Tiene tablas y columnas.
y modelo E-R.
Modelo relacional
• Es basado en la lógica.
• Pasa por un proceso llamado normalización.
Inicio en Noruega, con • Administra datos dinámicamente.
Nygaard, especialista en la • Tiene muchas más tablas y columnas.
elaboración de sistemas
informáticos. Desventajas.
Modelo
• Se usan muchas tablas.
relacional
• Usa algebra y calculo relacional.
Modelo de datos, basado
en lógica de predicados y
teoría de conjuntos. Ventajas.
• Tiene herramientas para evitar la duplicidad.
• Elimina todas las relaciones con un registro eliminado.
• Favorece la normalización.
• Tiene estructura en sus tablas.