0% encontró este documento útil (0 votos)
19 vistas6 páginas

Exam 3

Cargado por

Harry Potter
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
19 vistas6 páginas

Exam 3

Cargado por

Harry Potter
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 6

SECCIÓN A.

PARTE TEÓRICA

1. Luego de revisar la Sección 9 del curso DD Database Design Alumno - Español CPD
en Oracle Academy, define cada uno de los siguientes elementos y propiedades del
modelo relacional e indica con qué elemento del diagrama de relación de entidades
(ERD) de la actividad están asociados. Ejemplo: Las tablas se asocian a las entidades.

1.1. Elementos del modelo relacional. Completa la siguiente tabla:


Se asocian a
Modelo relacional Sinónimos Definición corta
(ERD)
Estructura en donde podemos guardar y
Tabla - Entidades
organizar datos
Objetos presentes en de cada tabla. Es
Registro Fila decir, cada registro se corresponde a Instancia
cada una de las filas de dicha tabla.
Componentes que proporcionan la
estructura a una tabla. No es posible
tener una tabla sin campos. Por ejemplo,
Campo Columna Atributo
puede crear una tabla vacía que tenga
definidos los campos pero ninguna fila
(registros)
Columnas o juego de columnas que
Clave primaria PK UID Primario
identifica de forma única cada fila.
Cada columna o grupo de columnas que
Clave candidata UID Candidato
pueden servir como clave primaria
Columna o grupo de columnas de una
tabla que contienen valores que
Clave forànea (FOREIGN KEY) FK
coinciden con el valor de clave primaria
de otra tabla.
Asociación bidireccional significativa
Relación - entre dos entidades o entre una entidad y Clave Ajena
ella misma.

1.2 Reglas de Integridad del Modelo Relacional. Explica las siguientes


reglas:
a. Reglas de Integridad de Modelo
Denominamos integridad a la propiedad de los datos de corresponder a representaciones
plausibles del mundo real. Las reglas de integridad de modelo son condiciones más generales,
propias de un modelo de datos, y se deben cumplir en toda base de datos que siga dicho
modelo.

Reglas de Integridad de Entidades

 Regla de Unicidad de la Clave Primaria (PRIMARY KEY). Ejemplo.


Toda clave primaria que se elija para una relación no debe tener valores repetidos. Si el
conjunto de atributos CP es la clave primaria de una relación R, entonces la extensión de R no
puede tener en ningún momento dos tuplas con la misma combinación de valores para los
atributos de CP.
Por ejemplo, en una entidad ACTIVIDADES, el “nombre” de cada actividad y la” edad” (ambos
funcionan como clave primaria) no pueden repetirse.
ACTIVIDADES
Nombre Edad Lugar
Voleibol Adultos Pista 1
Voleibol Niños Pista 2

 Regla de Entidad de la Clave Primaria. Ejemplo


Los atributos de la clave primaria de una relación no pueden tener valores nulos. Esta regla es
necesaria para que los valores de las claves primarias puedan identificar las tuplas individuales
de las relaciones. Si las claves primarias tuviesen valores nulos, es posible que algunas tuplas
no se pudieran distinguir.

Siguiendo con el ejemplo de antes, no es posible que haya una actividad que sea “nulo
adultos” o “nulo niños”.
ACTIVIDADES
Nombre Edad Lugar
Nulo Adultos Pista 1
Voleibol Niños Pista 2

¿Qué es Integridad Referencial? Ejemplo


La regla de integridad referencial está relacionada con el concepto de clave foránea.
Determina que todos los valores que toma una clave foránea deben ser valores nulos o valores
que existen en la clave primaria que referencia.
USUARIOS
Nombre Género NombreActividad EdadActividad
Sandra Mujer Voleibol Adultos
Fran Hombre Voleibol Niños

Los valores no nulos de NombreActividad y EdadActividad de la relación USUARIOS están en la


relación Actividades como valores de Nombre y Edad. Si uno de estos valores no estuviese
presente en la clave primaria correspondiente, sería una referencia (o conexión) incorrecta.

b. Restricciones Semánticas. Explica las siguientes reglas:

 ¿Qué se conoce como DOMINIO en el ámbito de las Bases de Datos?


Un dominio es una regla que describe los valores aceptables de un atributo. Cuando se asocia
un dominio a un campo de atributo, solo son válidos para el campo los valores incluidos dentro
de ese dominio. Dicho de otro modo, el campo no aceptará ningún valor que no esté en dicho
dominio, por lo que ayudan a evitar la entrada de basura en la base de datos.

Un ejemplo son los valores booleanos, con columnas que sólo aceptan verdadero o falso.

 ¿Qué es una restricción de Dominio definida por el usuario? Ejemplo.


Condición que establece que los operadores que pueden aplicarse sobre los valores dependen
de los dominios de estos valores; es decir, un operador determinado sólo se puede aplicar
sobre valores que tengan dominios que le sean adecuados.

Siguiendo con el ejemplo arriba expuesto, si queremos consultar la edad, será incorrecto,
por ejemplo, consultar los usuarios que tienen el valor de DNI igual al valor de edad. El motivo
es que, aunque tanto los valores de DNI como los de edademp sean enteros, sus dominios son
diferentes; por ello, según el significado que el usuario les da, no tiene sentido compararlos.

 ¿Qué es una restricción de Usuario? Ejemplo.


Son las condiciones específicas que se deben cumplir en una base de datos particular con unos
usuarios concretos, pero que no son necesariamente relevantes en otra base de datos. Si
tenemos de ejemplo un gimnasio, las horas que dura una clase no pueden ser negativas.

1.3 Transformación de Relaciones. A partir del video y las secciones DD


9-3 y DD 9-4 del curso DD Database Design Alumno de Oracle Academy,
responde a las siguientes preguntas:
Describe la forma en la cual se transforman las relaciones 1:1 del Modelo Entidad-
Relación al Modelo Relacional. Pon un ejemplo.
- Se debe crear una clave ajena y una clave única.
- Todas las columnas de clave ajena forman parte de la clave única.
- Si la relación es obligatoria en un extremo, se crea la clave ajena en su
correspondiente tabla. Si es opcional en ambos extremos, elegimos quien se queda
con la clave (donde haya menos filas o tenga más sentido).

Por ejemplo, si entre las entidades ACTOR (obligatoria) y DOBLE (opcional), el campo ID_doble
pasa a la entidad ACTOR.

Describe la forma en la cual se transforman las relaciones 1:n del Modelo Entidad-
Relación al Modelo Relacional. Pon un ejemplo.
- Si es obligatoria en ambos extremos hay que escribir un código adicional para aplicarla.

Entre las entidades ACTOR (cardinalidad varios) y PAÍS (cardinalidad 1), el ID_país pasa como
clave a la entidad ACTOR.

Describe la forma en la cual se transforman las relaciones n:m del Modelo Entidad-
Relación al Modelo Relacional. Pon un ejemplo.
- Toda relación N:M se convierte en una nueva tabla que tendrá como clave primaria las
dos claves primarias de las entidades que se asocian.
- La tabla de intersección contendrá columnas de clave ajena que hacen referencia a las
tablas de origen.

Por ejemplo, si tenemos las entidades ACTOR y PELÍCULA, se creará una tabla llamada
INTERPRETACIÓN, cuyas claves serán ID_actor y IMBD_película.

2. Sentencias DDL (Data Definition Languaje) de SQL. Para cada objeto


de la primera columna, marca con una x las sentencias que admite:
Instrucción |
CREATE ALTER DROP RENAME TRUNCATE
sentencia
Objetos Crear Modificar Eliminar Renombrar Vaciar
DATABASE |
SCHEMA x x
TABLE *

[TEMPORAR x x x x x
Y TABLE]

INDEX x x x

VIEW x x x

3. Restricciones. La sentencia ALTER TABLE de SQL tiene dos


propósitos:
Permite agregar, modificar o eliminar columnas en una tabla.

Permite agregar y eliminar restricciones (constraints) en una tabla.

En referencia a las restricciones, completa la siguiente tabla:


RESTRICCIÓ
OBJETIVO EJEMPLO
N
CREATE TABLE part_sample
El conjunto de las columnas especificadas (part_nmbr int PRIMARY KEY,
PRIMARY
no puede tener valores nulos ni repetidos. part_name char(30),
KEY Es una clave primaria. part_weight decimal(6,2),
part_color char(15) );
CREATE TABLE personas
{
identificador int NOT NULL,
El conjunto de las columnas especificadas nombre varchar(255) NOT NULL,
UNIQUE no puede tener valores repetidos. Es una apellido1 varchar(255) NOT NULL,
clave alternativa. apellido2 varchar(255),
UNIQUE (identificador)
}
CREATE TABLE order_part
El conjunto de las columnas especificadas
(order_nmbr int,
es una clave foránea que referencia la clave
part_nmbr int
primaria formada por el conjunto de las
FOREIGN FOREIGN KEY REFERENCES
columnas2 de la tabla dada. Si las columnas
KEY part_sample(part_nmbr)
y las columnas2 se denominan
ON DELETE NO ACTION,
exactamente igual, entonces no sería
qty_ordered int);
necesario poner columnas2.
GO
CREATE TABLE cust_sample
(
cust_id int PRIMARY KEY,
cust_name char(50),
La columna debe cumplir las condiciones
CHECK cust_address char(50),
especificadas.
cust_credit_limit money,
CONSTRAINT chk_id CHECK (cust_id BETWEEN 0
and 10000 )
)
CREATE TABLE Personas (
ID int NOT NULL,
Especifica un valor por defecto para un Apellidos varchar(255) NOT NULL,
DEFAULT campo cuando no se inserta explícitamente Nombre varchar(255),
en un comando "insert" Edad int,
Ciudad varchar(255) DEFAULT 'Medellín'
);
4. Claves compuestas y otras propiedades. Indica realizando una
captura de pantalla de MySQL Workbench.

o ¿Cómo se genera una Clave Primaria, Candidata o Foránea cuando está


compuesta por más de un campo?
o ¿Cómo se pueden agregar los propiedades AUTOINCREMENT y NOT NULL a
un campo y qué significan estas dos propiedades?

5. Tipos de Datos MySQL. MySQL admite una gran variedad de tipos de


datos. Entre todos ellos se seleccionaron los que más se utilizan para
que completes la tabla siguiente:
Tipo de dato Grupo (Numérico, Fecha, Cadena) Capacidad, formato...

BIT Numérico Número entero que puede ser 0 o 1.

INT Numérico 4 bytes, -2147483648 a 2147483647

Los valores válidos van desde -3.402823466E+38 a -


1.175494351E-38, 0 y desde 1.175494351E-38 a
FLOAT Numérico 3.402823466E+38

4 u 8 bytes.
Número decimales con tantos dígitos como indique la
DECIMAL precisión y tantos decimales como indique la escala.
Numérico
(m,n)
M+2 bytes sí D > 0, M+1 bytes sí D = 0
El rango de valores va desde el 1 de enero del 1001 al 31
de diciembre de 9999.
DATE Fecha y hora
Están compuestas de: YEAR año, MONTH mes, DAY día.

3 bytes
Desde el 1 de enero del 1001 a las 0 horas, 0 minutos y 0
segundos al 31 de diciembre del 9999 a las 23 horas, 59
minutos y 59 segundos.
DATETIME Fecha y hora
El formato de almacenamiento es de año-mes-dia
horas:minutos:segundos

8 bytes.
Almacena una hora. El rango de horas va desde -838
horas, 59 minutos y 59 segundos a 838, 59 minutos y 59
segundos.
TIME Fecha y hora
El formato de almacenamiento es de 'HH:MM:SS

3 bytes
255 caracteres
CHAR (n) Cadena
N bytes.
VARCHAR
Cadena N+1 bytes
(n)
Hasta 65535 valores distintos
ENUM Cadena
1 o 2 bytes.
Puede contener ninguno, uno ó varios valores de una
lista. La lista puede tener un máximo de 64 valores.
SET Cadena
1, 2, 3, 4 ó 8 bytes, dependiendo del número de valores

6. ¿Cuál es la diferencia entre los tipos de campo FLOAT y DECIMAL y


cómo se interpretan los parámetros en este último tipo de campo?
Un valor del tipo float tiene una precisión de 7 dígitos, mientras que un valor del tipo decimal
tiene una precisión de 28-29 dígitos.

FLOAT puede usarse en situaciones en las que puedan existir errores de redondeo y que
requieran el uso intensivo de procesamiento, como el dibujo de gráficas o juegos.

DECIMAL se utiliza en aplicaciones de alta precisión, como por ejemplo, las financieras, o
aquellas donde se hagan cálculos que requieran suma precisión.

¿Y entre CHAR y VARCHAR?


Cuando usamos CHAR decimos que la memoria será reservada para la cantidad de bytes que
estamos diciendo. Por ejemplo, si declaramos un CHAR de longitud 20, y guardamos un “Hola”
sólo se ocuparán 4 bytes y los otros 16 se llenarán con espacios.

VARCHAR tiene una longitud variable, lo que significa que sólo reservará memoria para los
datos que pongamos, además de un prefijo que indica la longitud.

CHAR es más rápido que VARCHAR en cuanto a rendimiento, ya que se sabe de antemano cuál
es la longitud de los datos, no como VARCHAR que tiene una longitud variable. Si vamos a
almacenar datos cuyo tamaño sabemos de antemano, es mejor usar CHAR, pues acelera el
rendimiento. Pero si vamos a almacenar datos de longitud variable que pueden ser más cortos
que el límite, es más conveniente usar VARCHAR.

También podría gustarte