BASES DE DATOS SQL ( Structured Query Language).
Sistemas gestores de bases de datos
¿Qué es una base de datos?: conjunto de datos relacionados que están
almacenados y organizados para su posterior uso.
¿Qué es un dato?: unidad mínima de información y representación simbólica de un
atributo o variable cuantitativa o cualitativa.
¿Qué es la información?: conjunto de datos procesados organizados que constituye
un mensaje y genera conocimiento.
Grado: es el número de atributos o columnas.
Cardinalidad: número de filas en una tabla.
Fichero: colección ordenada y permanente de datos, almacenada en una tabla
guardada en la memoria de un dispositivo.
Campo: es una columna de una tabla.
Dominio: es el tipo de dato que le corresponderá a los campos ocurrencias de una
tabla, así como el rango de valores permitidos.
Registro: es una fila de una tabla.
ETAPAS DE DISEÑO DE DB RELACIONAL
1. Análisis de requisitos: Lenguaje Natural.
documentar los requerimientos, necesidades y expectativas de la realidad de
los usuarios y el sistema.
2. Diseño conceptual: Modelo Entidad-Relación.
3. Diseño lógico: Modelo Relacional.
4. Diseño físico: Implementación en SGBD con SQL.
MODELO ENTIDAD-RELACIÓN.
Este modelo se basa en 3 elementos fundamentales y son los siguientes:
Entidades: es un concepto de la realidad de la que se
quiere guardar información,
Ocurrencia-. es una instancia, ente individual de esa entidad.
Atributos: características, propiedades de la entidad que es de interés, y es
Pueden dividirse en:
Compuestos. Se compone otros atributos mas
Multivaluados. El atributo puede tener distintos valores.
Derivados. El atributo procede de otra base de datos.
los atributos compuestos deberán convertirse en entidades con sus
respectivos atributos que ya poseían o convertirse en A. simple-no es
recomendable.
los atributos multivaluados siempre generan una entidad nueva.
Atributo identificador. atributo que es único que permiten identificar
una ocurrencia de las que otras entidades no la posean (clave primaria)
Relaciones: asociaciones o vínculos entre entidades, representados con un
rombo y un verbo. Posee los siguientes aspectos esenciales:
Grado. indicador que muestra cuantas entidades se están conectadas
con una sola relación y puede haber.
Grado uno. Unarias o reflexivas
Grado dos. Binarias, pueden hacer relaciones binarias dobles.
Grado tres. Ternarias.
Grado n. N-arias
Cardinalidad (correspondencia \cardinalidad máxima). Número
máximo de ocurrencias de una entidad que pueden estar asociadas a
las ocurrencias de otra entidad.
De uno a muchos\de muchos a uno. (1: N)
De uno a uno (N: 1)
De muchos a muchos (M: N)
Participación (cardinalidad mínima). número mínimo de veces que
las ocurrencias de una entidad deben participar en una relación.
Total (u obligatoria)—(1)-. todas ocurrencias de una entidad
deben participar en la relación al menos una vez.
Parcial (u opcional) ---(0). algunas ocurrencias pueden o no
participar la relación.
Entidades fuertes y entidades débiles.
Entidades fuertes: son aquellas que tiene existencia por sí misma. Ej. Cliente, coche,
edificio, libro, canción
Entidades débiles: aquellas cuales su existencia depende de otra entidad, se las
puede definir cómo entidad fuerte también. Ej. Aula, un ejemplar.
Atributo discriminador. Identifica de manera única las ocurrencias de una
entidad débil ese discriminador puede repetirse en otras entidades
Relación débil solo es la representación de la relación entre entidad F y d.
DISEÑO LOGICO- MODELO RELACINAL.
Es una forma de estructurar y gestionar bases de datos organizando la información en
tablas (relaciones) compuestas por filas (registros) y columnas (atributos).
Permite transformar un modelo entidad-relación en un conjunto de relaciones que se
presenta de forma mas simplificada con el objetivo de reducir la redundancia de datos,
así como mostrar la manera en la qué éstos se interrelacionan para su posterior
construcción en modelo físico.
Conceptos que son iguales
CONCEPTOS BÁSICOS.
Tabla: son los datos recopilados en las entidades del modelo ER mediante un
conjunto de filas y columnas, en este modelo a las tablas se les conoce como
“relación”.
Esquema (nombre y cabecera)
Cuerpo (colección de filas)
Estado (esquema y cuerpo)
Registros/tuplas: son las filas de una tabla.
Campos/atributos: son las columnas de una tabla y representan los datos que se
Dominio: es el tipo de dato que le corresponderá a los campos de una tabla, así como
el rango de valores permitidos.
Clave foránea: es aquella clave primaria de una tabla que se introduce en otra como
un nuevo campo con el objetivo de mantener su interrelación.
El modelo relacional permite transformar un modelo RE en un conjunto de relaciones
que se presentan de forma más simplificada.
REGLAS DE TRANSFORMACIÓN.
1. Entidades fuertes
Cada entidad se convierte en una tabla. Su llave primaria pasa como PK.
2. Entidades débiles
Se crea una tabla que incluye sus atributos más la PK de la entidad fuerte como llave
foránea. La PK de la tabla débil suele ser compuesta.
Ejemplo de PK compuesta
PRIMARY KEY (id_estudiante, id_materia) -- PK compuesta
Conversión de Participación a Nulos en el MR
La idea es simple: la participación del MER se traduce directamente en una restricción
de nulos en el MR.
Participación y nulos
La participación total significa que la entidad siempre está relacionada, por eso la FK
es NOT NULL. La participación parcial significa que puede no estarlo, por eso la FK
acepta NULL.
Relaciones (entidades): se representa con el nombre de la entidad en plural en letras
mayúsculas Ej. USUARIOS, POSTS.
Atributos (atómicos): se representa con los nombres de los atributos entre paréntesis
si hay espacios se usa una barra baja subrayando la clave primaria. USUARIOS
(id_usuario, nombre_usuario, contraseña, email); POSTS (id_post, titulo, texto).
Cardinalidad uno a uno:
Téngase la entidad profesores y horarios
Opción uno: La clave primaria de una entidad se agrega como clave foránea
en la otra. Conviene ponerla en la entidad con participación total (0).
PROFESORES (N_empleados, Nombre, Paterno, Materno)
HORARIOS (ID Hor, Lunes, Martes, Miércoles, Viernes, N_empleado)
PROFESORES (N_empleados, Nombre, Paterno, Materno, ID Hor)
HORARIOS (ID Hor, Lunes, Martes, Miércoles, Viernes)
Opción extra: propagar ambas claves primarias como claves foráneas de a la
relación.
PROFESORES (N_empleados, Nombre, Paterno, Materno, ID Hor)
HORARIOS (ID Hor, Lunes, Martes, Miércoles, Viernes, N_empleados)
Relaciones uno a muchos:
Opción 1. Si se trata de una relación reflexiva se debe hacer una copia de la
clave primaria de la entidad, pero cambiando de nombre y se guarda como
clave foránea.
TRABAJADORES (N_empleados, Nombre, Paterno, Materno,
N_empleado_jefe).
Opción 2. Entidad de participación “1" cederá como clave foránea su PK en la
tabla de participación “N". Si la relación de un MER tuviera atributos se
añadirían también a la entidad que tiene una participación máxima de N.
CURSOS (Id_Curso, Descripción) N
ALUMNOS (Nboleta, Nombre, Paterno, Materno, Id_Curso) 1
Cardinalidad Muchos a Muchos:
Se crea una tabla intermedia con las PK de ambas entidades como llaves
foráneas. Juntas forman la PK compuesta de esa tabla. También puede
incluir atributos propios de la relación.
GRUPOS (ID Grupos, Turno, Carrera, Inscritos)
ASIGNATURAS (ID Asignatura, Descripción, Clasificación)
GRUPOS-ASIGNATURAS (NSalon, ID Grupo, ID Asignatura)
NORMALIZACION
Es el proceso que permite refinar la construcción del modelo relacional con el objetivo
de minimizar la redundancia de datos mediante ciertas normas y restricciones
Primera forma normal: dicta que los valores de un dominio deben ser
Atómicos es decir que los valores de un campo deber tener un único valor e
indivisibles, existen dos casos donde no se considera atómicos los campos.
Atributos compuestos. Descomponer los atributos que lo conforman
en campos separados. Como una dirección (calle, zona, edificio,
numero de puerta), genero de película. (terror, comedia, etc.)
Dificulta la extracción de datos
Atributos multivaluados. Crear una nueva tabla para el atributo
multivaluado que tendrá como FK la PK de la primera tabla. Este
generara varios registros repetidos con la misma ocurrencia. también
genera varios campos similares entre si
Segunda forma normal. Se debe cumplir con la 1FN y que todos los atributos
de una tabla deben depender de la PK. Para su solución, extraer los campos
sin dependencia a la PK y colocarlos en una nueva tabla como FK.
Conservando la PK de la tabla inicial como su PK.
Tercera formal normal. Dicta que debe cumplirse la 2fn y que ningún campo
dependa de otro campo que no sea la PK no debe haber dependencia
transitiva (un campo depende de otro y ese de la PK).
Extraer los campos que tienen dependencia transitiva y ponerlos a una nueva
tabla asignándoles una PK la cual se ingresara como clave foránea de la
primera tabla.
RESTICCIONES DE INTEGRIDAD.
Inherentes a l modelo relacional
o Cada atributo sólo puede tomar un valor único.
o El orden de las tuplas no importa
o El orden de los atributos no es relevante.
o Cada tupla ha de ser única.
Semánticas o definidas por el usuario
o Clave primaria (PRIMARY KEY)
o Unicidad (UNIQUE)
o Obligatoriedad (NOT NULL)
o Integridad referencial (FOREIGN KEY)
Restricciones en operaciones:
o Borrado (ON DELETE)
o Modificación (ON UPDATE)
o Restringida (RESTRICT, NO ACTION)
o Transmisión en cascada (CASCADE)
o Puesta a nulo (SET NULL)
o Poner a valor por defecto (SET DEFAULT)