'Tema 01 - Conceptos Básicos de Bases de Datos (09-2004) PDF
'Tema 01 - Conceptos Básicos de Bases de Datos (09-2004) PDF
'Tema 01 - Conceptos Básicos de Bases de Datos (09-2004) PDF
de ingeniería informática
Repaso de Conceptos
Básicos de Bases de
Datos
Departamento de
Lenguajes y Sistemas Informáticos
• Definición
Escuela Técnica Superior – Una base de datos es una entidad software cuya
de Ingeniería Informática
Departamento de Lenguajes
y Sistemas Informáticos
principal característica es la capacidad para
1. ¿Qué es una base
almacenar y gestionar grandes cantidades de datos.
• Operaciones básicas
de datos?
2. Modelado Entidad-
Interrelación
3. Modelo Relacional – Toda base de datos debe permitir añadir, modificar,
4. SQL Básico eliminar y consultar los datos que almacena.
5. Transformación de
ERM a RM – A estas cuatro operaciones básicas se las conoce
como CRUD por sus siglas en inglés: Create, Read,
Update and Delete.
• Tecnologías
– Aunque existen distintas tecnologías (relacional,
orientadas a objetos, objeto-relacional, …) la
mayoría de las bases de datos se basan en el
modelo relacional de datos de Codd y utilizan SQL
(Structured Query Language) como lenguaje de
consulta y manipulación de datos.
1
Repaso de Conceptos Básicos de Bases de Datos
• Conceptos básicos
Escuela Técnica Superior Dominio del problema Sistema de información
de Ingeniería Informática
Departamento de Lenguajes
y Sistemas Informáticos
Alumno Administrativo
Alumno
(Internet)
Sistema informático
Sevilla, septiembre de 2004 (normalmente con una BD)
Grupo de Ingeniería del Software 2
• Conceptos básicos
Escuela Técnica Superior – Dominio del problema: la parte del mundo real de la
de Ingeniería Informática
Departamento de Lenguajes
y Sistemas Informáticos
que el sistema de información debe almacenar
1. ¿Qué es una base
información y a cuyos actores (personas u otros
de datos? sistemas de información) debe ofrecer servicios.
2. Modelado Entidad-
Interrelación – Sistema de información: conjunto de hardware,
3. Modelo Relacional
software, mobiliario de oficina, documentos en
4. SQL Básico
5. Transformación de
papel, personas y procedimientos manuales
ERM a RM responsable de ofrecer una serie de servicios a los
actores del dominio del problema.
– Sistema informático: conjunto de hardware y
software del sistema de información que es
responsable del tratamiento automatizado de la
información. Normalmente incluye una base de
datos y debe ofrecer servicios tanto a actores
internos del sistema de información como a actores
en el dominio del problema (a través de Internet,
por ejemplo).
2
Repaso de Conceptos Básicos de Bases de Datos
• Introducción
Escuela Técnica Superior – El modelado entidad-interrelación de Chen, también
de Ingeniería Informática
Departamento de Lenguajes
y Sistemas Informáticos
conocido por sus siglas en inglés como ERD (Entity-
1. ¿Qué es una base
Relationship Diagram), es una técnica que permite
de datos? modelar (analizar) requisitos de almacenamiento de
2. Modelado Entidad-
Interrelación información y, parcialmente, reglas de negocio.
3. Modelo Relacional
– Los requisitos se modelan para detectar en ellos
4. SQL Básico
5. Transformación de
posibles conflictos (contradicciones, falta de
ERM a RM información, etc.) y resolverlos con el cliente antes
de comenzar el desarrollo.
– Existen diversas variantes de ERD y técnicas
alternativas como los diagramas de clases de UML.
– El modelado con ERD también se considera como
una técnica de diseño de bases de datos
relacionales porque existe un algoritmo que permite
generar un esquema relacional en 3FN a partir de
un modelo ERD.
– Los conceptos básicos del modelado ERD son el de
entidad y el de interrelación.
• Entidad
Escuela Técnica Superior – Una entidad representa un concepto relevante del
de Ingeniería Informática
Departamento de Lenguajes
y Sistemas Informáticos
dominio del problema sobre el que el sistema debe
1. ¿Qué es una base
almacenar información (porque así se ha
de datos? especificado en uno o más requisitos).
2. Modelado Entidad-
Interrelación – Una entidad puede tener atributos, que son datos
3. Modelo Relacional
simples que representan la información que el
4. SQL Básico
5. Transformación de
sistema debe almacenar sobre las propiedades o
ERM a RM características del concepto relevante que
representa la entidad (p.e. el DNI de un alumno).
– Un atributo debe ser siempre un valor simple (un
número, una cadena, una fecha, etc.), nunca una
estructura de datos como un conjunto, una
secuencia, etc.
– Aquellos atributos que identifican de forma única a
una entidad se denominan identificativos. No puede
haber más de una ocurrencia de una entidad con el
mismo valor de los atributos identificativos.
3
Repaso de Conceptos Básicos de Bases de Datos
• Entidad
Escuela Técnica Superior – Una entidad se representa gráficamente mediante
de Ingeniería Informática
Departamento de Lenguajes
y Sistemas Informáticos
un rectángulo con el nombre de la entidad, que
1. ¿Qué es una base
debe ser un sustantivo en singular, en su interior.
de datos?
2. Modelado Entidad-
– Los atributos se representan gráficamente mediante
Interrelación círculos o elipses enlazados a la entidad.
3. Modelo Relacional
4. SQL Básico
– Los atributos identificativos se subrayan o se
5. Transformación de dibujan de otro color.
ERM a RM
• Ejemplo de entidad
– Una entidad Alumno de un sistema para la gestión
de matriculación de alumnos de una universidad.
– Cada alumno registrado en el sistema estará
representado por una ocurrencia de la entidad
Alumno.
nombre apellidos
dirección
dni
Alumno fecha de
nacimiento
teléfono
Sevilla, septiembre de 2004
Grupo de Ingeniería del Software 6
• Interrelación
Escuela Técnica Superior – Una interrelación representa una asociación entre
de Ingeniería Informática
Departamento de Lenguajes
y Sistemas Informáticos
conceptos relevantes del dominio del problema
1. ¿Qué es una base
sobre la que el sistema debe almacenar información
de datos? (porque así se ha especificado en uno o más
2. Modelado Entidad-
Interrelación requisitos).
3. Modelo Relacional
– Una interrelación, al igual que una entidad, puede
4. SQL Básico
5. Transformación de
tener atributos, que representan la información que
ERM a RM el sistema debe almacenar sobre las propiedades o
características de la asociación entre conceptos
relevantes que representa la interrelación (p.e. la
fecha en que un alumno se matricula de una
asignatura).
– Los atributos de una interrelación siguen las
mismas reglas que los de las entidades, con la
diferencia de que no pueden ser identificativos.
4
Repaso de Conceptos Básicos de Bases de Datos
• Interrelación
Escuela Técnica Superior – Una interrelación se representa gráficamente como
de Ingeniería Informática
Departamento de Lenguajes
y Sistemas Informáticos
un rombo con el nombre en su interior.
1. ¿Qué es una base – El nombre de la interrelación, que debe ser una
de datos?
2. Modelado Entidad-
forma verbal, debe tener sentido leído junto con el
Interrelación nombre de las entidades de izquierda a derecha o
3. Modelo Relacional
de arriba a abajo.
4. SQL Básico
5. Transformación de – El rombo se conecta mediante líneas con las
ERM a RM
entidades que participan en la interrelación.
• Ejemplo de interrelación
– Una interrelación se matricula de entre las
entidades Alumno y Asignatura de un sistema de
gestión de matriculación de alumnos.
– Observe que Alumno-se matricula de-Asignatura
tiene sentido leído de izquierda a derecha.
se
Alumno matricula Asignatura
de
fecha curso
Sevilla, septiembre de 2004
Grupo de Ingeniería del Software 8
5
Repaso de Conceptos Básicos de Bases de Datos
• Ejemplo de cardinalidad
Escuela Técnica Superior – En un sistema de gestión de matriculación de
de Ingeniería Informática
Departamento de Lenguajes
y Sistemas Informáticos
alumnos…
1. ¿Qué es una base • Para que un alumno se considere matriculado debe
de datos? matricularse al menos de una asignatura, aunque
2. Modelado Entidad-
Interrelación
puede matricularse de varias.
3. Modelo Relacional • A la inversa, una asignatura puede tener matriculados
4. SQL Básico un número indeterminado de alumnos, pudiendo ser 0
5. Transformación de
ERM a RM
si se trata de una asignatura nueva.
n:m
(0,n) se (1,m)
Alumno matricula Asignatura
de
fecha curso
6
Repaso de Conceptos Básicos de Bases de Datos
• Ejemplo de dependencias
Escuela Técnica Superior – En un sistema de gestión de ventas…
de Ingeniería Informática
Departamento de Lenguajes
y Sistemas Informáticos
• La entidad Factura depende en existencia de la entidad
1. ¿Qué es una base
Cliente (no tiene sentido una factura sin cliente).
de datos? • La entidad Línea de Factura depende en identificación
2. Modelado Entidad-
Interrelación
de la entidad Factura (no tiene sentido una línea de
3. Modelo Relacional factura sin factura y además no puede identificarse
4. SQL Básico sólo con el nº de línea, necesita el nº de factura).
5. Transformación de
ERM a RM
• La entidad Línea de Factura también depende de la
entidad Producto (no tiene sentido una línea de factura
sin producto facturado).
nº nº
(1,1) ID (1,n)
compuesta Línea de
Factura
por Factura
fecha (0,n) cant.
(0,n)
E E
emitida a contiene
(1,1) (1,1)
Cliente Producto
7
Repaso de Conceptos Básicos de Bases de Datos
I3
I1 I I2
(1,1) (1,1)
A C
• Conceptos básicos
Escuela Técnica Superior – La tabla (o relación) es el concepto básico del
de Ingeniería Informática
Departamento de Lenguajes
y Sistemas Informáticos
modelo relacional.
1. ¿Qué es una base – La tabla contiene un conjunto de filas en las que se
de datos?
2. Modelado Entidad-
almacenan los valores de los campos.
Interrelación
– Toda tabla tiene un nombre único en la base de
3. Modelo Relacional
4. SQL Básico
datos, en la que pueden almacenarse múltiples
5. Transformación de tablas.
ERM a RM
– Cada campo de una tabla tiene un nombre y un tipo
de datos asociado.
8
Repaso de Conceptos Básicos de Bases de Datos
• Conceptos básicos
Escuela Técnica Superior – La clave primaria de una tabla es el conjunto de
de Ingeniería Informática
Departamento de Lenguajes
y Sistemas Informáticos
campos que identifica de manera única a cada fila,
1. ¿Qué es una base
es decir, no puede haber dos filas con el mismo
de datos? valor en los campos de la clave primaria.
2. Modelado Entidad-
Interrelación – Una clave ajena es un conjunto de campos de una
3. Modelo Relacional
tabla cuyos valores deben coincidir con los de la
4. SQL Básico
5. Transformación de
clave primaria de otra tabla o ser nulos.
ERM a RM
Tabla Alumnos
Tabla Expedientes dni apellidos nombre domicilio …
número … alumno 123-A Pérez Pérez Pepe c/ Sol, 4 …
12345678 … NULL 456-B Gómez Pérez Pepa c/ Luna, 6 …
91011121 … 123-A 789-C Pérez Gómez José c/ Nube, 8 …
31415161 … 789-C 101-D Gómez Ruiz Josefa c/ Mar, 1 …
71819202 … 987-A 111-E Ruiz Pérez Ana c/ Sol, 2 …
987-A Pérez Ruiz Lola c/ Luna, 4 …
Clave ajena
Clave primaria
Sevilla, septiembre de 2004
Grupo de Ingeniería del Software 16
• Conceptos básicos
Escuela Técnica Superior – La integridad referencial de una base de datos
de Ingeniería Informática
Departamento de Lenguajes
y Sistemas Informáticos
garantiza que todas las claves ajenas tomen valores
1. ¿Qué es una base
correctos.
• Formas normales
de datos?
2. Modelado Entidad-
Interrelación
3. Modelo Relacional – Una tabla está en 1FN si todos los tipos de sus
4. SQL Básico campos son escalares.
5. Transformación de
ERM a RM – Una tabla está en 2FN si está en 1FN y todos los
campos que no son parte de la clave primaria
dependen funcionalmente de la clave primaria.
– Una tabla está en 3FN si está en 2FN y no existen
dependencias funcionales entre los campos que no
son parte de la clave primaria.
• Dependencia funcional
– Un campo C depende funcionalmente de un
conjunto de campos D si es imposible que existan
dos o más filas con el mismo valor de D y con
distinto valor de C.
Sevilla, septiembre de 2004
Grupo de Ingeniería del Software 17
9
Repaso de Conceptos Básicos de Bases de Datos
• Inserción
Escuela Técnica Superior INSERT INTO Tabla (campo1, … campon)
de Ingeniería Informática
Departamento de Lenguajes
y Sistemas Informáticos VALUES (valor1, … valorn)
1. ¿Qué es una base
de datos?
2. Modelado Entidad-
Interrelación
• Actualización
3. Modelo Relacional UPDATE Tabla
4. SQL Básico
5. Transformación de SET campo1 = exp1, …, campon = expn
ERM a RM
[WHERE condición]
• Borrado
DELETE FROM Tabla
[WHERE condición]
• Consulta
Escuela Técnica Superior SELECT [DISTINCT] [Tabla1.]campo1, …, [Tablan.]campom
de Ingeniería Informática
Departamento de Lenguajes
y Sistemas Informáticos FROM Tabla1, …, Tablan
1. ¿Qué es una base [WHERE condición]
de datos?
2. Modelado Entidad- [ORDER BY [Tablai.]campoj, …, [Tablap.]campoq]
Interrelación
3. Modelo Relacional
4. SQL Básico
SELECT *
5. Transformación de
ERM a RM FROM Tabla1, …, Tablan
[WHERE condición]
[ORDER BY [Tablai.]campoj, …, [Tablap.]campoq]
SELECT {SUM|COUNT|AVG|VAR|FIRST|LAST|…}
FROM Tabla1, …, Tablan
[WHERE condición]
[GROUP BY [Tabla1.]campo1, …, [Tablan.]campom]
[HAVING condición]
[ORDER BY [Tablai.]campoj, …, [Tablap.]campoq]
Sevilla, septiembre de 2004
Grupo de Ingeniería del Software 19
10
Repaso de Conceptos Básicos de Bases de Datos
• Transformación de entidades
Escuela Técnica Superior – Toda entidad se transforma en una tabla.
de Ingeniería Informática
Departamento de Lenguajes
y Sistemas Informáticos – Cada atributo de la entidad se transforma en un campo de
1. ¿Qué es una base la tabla.
de datos?
2. Modelado Entidad- – La clave primaria de la tabla se forma con los atributos
Interrelación identificativos de la entidad.
3. Modelo Relacional
4. SQL Básico – En case de que la entidad sea débil en identificación, hay
5. Transformación de que añadir los campos identificativos de las entidades de
ERM a RM
las que depende en identificación (que son claves ajenas).
• Transformación de interrelaciones 1:n
– Toda interrelación 1:n se transforma en una clave ajena en
la tabla que representa a la entidad con cardinalidad
múltiple.
– Los atributos de la interrelación se colocan en la tabla en la
que se coloca la clave ajena
• Transformación de interrelaciones 1:1
– Se aplica la misma transformación que en el caso de 1:n
tomando como n cualquiera de las entidades.
Sevilla, septiembre de 2004
Grupo de Ingeniería del Software 20
11