Repaso de Conceptos Básicos de Bases de Datos



Documentos relacionados
BASES DE DATOS - SQL. Javier Enciso

BASE DE DATOS QUÉ ES UNA BASE DE DATOS?

Registro (record): es la unidad básica de acceso y manipulación de la base de datos.

Bases de datos relacionales y el modelo entidad-relación

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad

Base de datos relacional

Base de Datos. Profesor: José Miguel Rubio L. P. UNIVERSIDAD CATÓLICA DE VALPARAÍSO FACULTAD DE INGENIERÍA ESCUELA DE ING.

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos

INTRODUCCION. entidades. Modelo lógico de la base de datos. Matricula. carne. codigo_curso. año semestre nota. propiedades

Práctica 3. Consultas SQL

EL MODELO ENTIDAD-RELACIÓN:

1. Introducción: Qué es un Modelo de Datos? 2. Estática del modelo de datos relacional

BASES DE DATOS TEMA 2. MODELOS DE DATOS

A.1. Definiciones de datos en SQL

Tema 11 Bases de datos. Fundamentos de Informática

Patrones para persistencia (I) Ingeniería del Software II

Modelo Entidad-Relación

Unidad II: Diseño de Bases de Datos y el modelo E-R. 2.1 El Proceso de Diseño

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

Principios de Bases de Datos Relacionales, Normalización. Unidad 4

Ficheros y Bases de Datos Curso Ingeniería Técnica de Informática Primer Parcial. 1-Junio Nombre:

Bases de Datos: Structured Query Language (SQL)

BASES DE DATOS TEMA 2. MODELOS DE DATOS

INTRODUCCIÓN A LAS BASES DE DATOS

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

[CASI v.0110] Pág. 1

NORMALIZACIÓN DE BASES DE DATOS RELACIONALES

Consultas con combinaciones

UNIDAD 3. MODELO RELACIONAL

SQL (Structured Query Language)

1. DML. Las subconsultas

MINISTERIO DE EDUCACIÓN DIRECCIÓN DE EDUCACIÓN TÉCNICA Y PROFESIONAL PROGRAMA DE LA ASIGNATURA BASE DE DATOS ESPECIALIDAD INFORMÁTICA.

Tema 6: Diseño de bases de datos relacionales.

Examen de Ficheros y bases de datos ( ) Convocatoria de febrero I PARCIAL

Modelado de datos. Bibliografía. Representación de la información Modelos de datos Modelado semántico

Capítulo VI. Diagramas de Entidad Relación

Diagrama de Clases. Diagrama de Clases

BASES DE DATOS EL MODELO RELACIONAL: LAS TABLAS

LINEAMIENTOS DE BASES DE DATOS

ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA Programación de sitios web Act 11: Reconocimiento de la unidad 3

Lenguaje de Consulta Estructurado S Q. Lenguaje de Consulta Estructurado. Wael Najjar /

Tecnología de la Información y la Comunicación. Base de datos. Consultas

BASES DE DATOS TEMA 4 DISEÑO DE BASES DE DATOS RELACIONALES

UNIVERSIDAD RICARDO PALMA FACULTAD DE INGENIERÍA

SQL (Structured Query Language)- DML

3. Modelo relacional: Estructura e integridad.

Conceptos Avanzados de Bases de datos

Análisis de Sistemas. M.Sc. Lic. Aidee Vargas C. C. octubre 2007

Este es un ejemplo muy sencillo, un esquema de empleados que trabajan en proyectos, en una relación muchos a muchos.

Tema 4. Manipulación de datos con SQL

BASE DE DATOS RELACIONALES

Conceptos básicos Oracle 10g Introducción - Administración de Oracle - Orasite.com

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Elementos requeridos para crearlos (ejemplo: el compilador)

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO

6- Combinación de tablas

UNIVERSIDAD NACIONAL DE ASUNCION FACULTAD POLITÉCNICA CARRERA: LCIK MATERIA: Bases de Datos I Prof: Lic. Lilian Riveros Unidad 2: Modelo Relacional

Modelos y Bases de Datos

Práctica 2. Academia Bristol

Un ejemplo simple de normalización de bases de datos relacionales (hasta 3FN)

Ing. YIM ISAIAS APESTEGUI FLORENTINO Tema: Normalización

LAS SUBCONSULTAS SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

Teoría formal de la normalización de esquemas relacionales. Definición formal de las tres primeras Formas Normales

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN

Bases de Datos Relacionales

Administración de la producción. Sesión 10: Gestor de Base de Datos (Access)

Diseño de Bases de Datos Bases de Datos Documentales Grao en Información e Documentación Curso 2013/2014

CURSO DE SQL SERVER 2005

OPERACIONES CON BASES DE DATOS OFIMÁTICAS Y CORPORATIVAS CURSO: IES GONZALO NAZARENO

Acceso a bases de datos MySQL con PHP

M III ABSTRACCIÓN Y CLASIFICACIÓN

IWG-101: Introducción a la Ingeniería. Departamento de Informática, UTFSM 1

Trabajos de Ampliación. Bases de datos NoSQL.

rg.o cm a Diseñ e o o c o c n o ce c p e tual l@ rza e b Di D s i e s ño d e b as a e s s s d e d at a o t s

APÉNDICE SQL (Structures Query Language)

Metodología Orientada a Objetos Clave Maestría en Sistemas Computacionales

CONSULTAS BASICAS EN SQL SERVER

Aplicaciones de las vistas Concepto de vista Vistas en SQL Vistas en SQL.

Proyecto de Normalización Automática de Base de Datos

Maestría en Bioinformática. Bases de Datos y Sistemas de Información. Diseño Lógico. Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.

Procedimientos para agrupar y resumir datos

Bases de Datos 2. Teórico

TRANSFORMACIÓN DE ESQUEMAS E/R A ESQUEMAS RELACIONALES

Bases de Datos. Sistemas de Gestión de Bases de Datos

Módulo 9 Sistema matemático y operaciones binarias

Introducción a la Teoría de Bases de Datos

MODELO RELACIONAL Y PASAJE MER A RELACIONAL

Casos de uso UML. Miguel Vega Granada, octubre de 2010 LSI - UGR

Diagramas de Clases ~ 1 ~ Ing. Fabián Silva Alvarado

Modelos y Bases de Datos

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

CONSULTAS DE RESUMEN SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl

Apuntes de la Unidad 1 de Base de Datos

Boletín de Problemas de la Asignatura II18 Bases de Datos. Ingeniería Informática Universitat Jaume I

Tema 2: Modelo Entidad-Relación(ER)

Bases de Datos 3º Informática de Sistemas

Transcripción:

escuela técnica superior de ingeniería informática Repaso de Conceptos Básicos de Bases de Datos Departamento de Lenguajes Grupo de Ingeniería del Software Septiembre 2004 Definición Una base de datos es una entidad software cuya principal característica es la capacidad para almacenar y gestionar grandes cantidades de datos. Operaciones básicas Toda base de datos debe permitir añadir, modificar, eliminar y consultar los datos que almacena. 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. Grupo de Ingeniería del Software 1 1

Conceptos básicos Dominio del problema Profesor Sistema de información Alumno Administrativo Alumno (Internet) Sistema informático (normalmente con una BD) Grupo de Ingeniería del Software 2 Conceptos básicos Dominio del problema: la parte del mundo real de la que el sistema de información debe almacenar información y a cuyos actores (personas u otros sistemas de información) debe ofrecer servicios. Sistema de información: conjunto de hardware, software, mobiliario de oficina, documentos en papel, personas y procedimientos manuales 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). Grupo de Ingeniería del Software 3 2

Introducción El modelado entidad-interrelación de Chen, también conocido por sus siglas en inglés como ERD (Entity- Relationship Diagram), es una técnica que permite modelar (analizar) requisitos de almacenamiento de información y, parcialmente, reglas de negocio. Los requisitos se modelan para detectar en ellos posibles conflictos (contradicciones, falta de 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. Grupo de Ingeniería del Software 4 Entidad Una entidad representa un concepto relevante del dominio del problema sobre el que el sistema debe almacenar información (porque así se ha especificado en uno o más requisitos). Una entidad puede tener atributos, que son datos simples que representan la información que el sistema debe almacenar sobre las propiedades o 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. Grupo de Ingeniería del Software 5 3

Entidad Una entidad se representa gráficamente mediante un rectángulo con el nombre de la entidad, que debe ser un sustantivo en singular, en su interior. Los atributos se representan gráficamente mediante círculos o elipses enlazados a la entidad. Los atributos identificativos se subrayan o se dibujan de otro color. 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 dni teléfono Alumno dirección fecha de nacimiento Grupo de Ingeniería del Software 6 Una interrelación representa una asociación entre conceptos relevantes del dominio del problema sobre la que el sistema debe almacenar información (porque así se ha especificado en uno o más requisitos). Una interrelación, al igual que una entidad, puede tener atributos, que representan la información que 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. Grupo de Ingeniería del Software 7 4

Una interrelación se representa gráficamente como un rombo con el nombre en su interior. El nombre de la interrelación, que debe ser una forma verbal, debe tener sentido leído junto con el nombre de las entidades de izquierda a derecha o de arriba a abajo. El rombo se conecta mediante líneas con las 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. Alumno se matricula de Asignatura fecha curso Grupo de Ingeniería del Software 8 Grado de una interrelación El grado de una interrelación indica el número de entidades que participan en la misma. Las interrelaciones con grado 1 se denominan unarias, por ejemplo Persona-está casada con- Persona. Las interrelaciones con grado 2 se denominan binarias y son las más habituales (ver ejemplo anterior). Las interrelaciones de grado 3 se denominan ternarias, y pueden transformarse siempre en varias interrelaciones binarias. Las interrelaciones con grado mayor que 3 son poco habituales. En general se prefiere trabajar siempre con interrelaciones de grado 1 ó 2, ya que son para las que está definido el algoritmo de generación de modelos relacionales en 3FN. Grupo de Ingeniería del Software 9 5

Cardinalidad de una entidad en una interrelación La cardinalidad de una entidad A en una interrelación I con otra entidad B define los números mínimo y máximo de ocurrencias de B con las que puede relacionarse una ocurrencia cualquiera de A mediante I. Cardinalidad de un interrelación La cardinalidad de una interrelación son los valores máximos de las cardinalidades de las entidades que participan en la interrelación. Los valores habituales son 1:1, 1:n y m:n. Grupo de Ingeniería del Software 10 Ejemplo de cardinalidad En un sistema de gestión de matriculación de alumnos Para que un alumno se considere matriculado debe matricularse al menos de una asignatura, aunque puede matricularse de varias. A la inversa, una asignatura puede tener matriculados un número indeterminado de alumnos, pudiendo ser 0 si se trata de una asignatura nueva. n:m Alumno (0,n) se matricula de (1,m) Asignatura fecha curso Grupo de Ingeniería del Software 11 6

Dependencias entre entidades Una entidad débil es una entidad que necesita estar interrelacionada con otras entidades, denominadas fuertes y de las que depende, para tener sentido. Todas las dependencias se consideran de existencia, pero en el caso de que la entidad débil necesite atributos de otras entidades fuertes para identificarse, se dice que la dependencia es también en identificación. Las entidades débiles se representan como las fuertes pero usando un rectángulo de línea doble. En las interrelaciones en las que participe una entidad débil se debe indicar el origen de la dependencia mediante una cabeza de flecha en las líneas que unen la entidad débil con las interrelaciones oportunas. En las interrelaciones se debe indicar también el tipo de dependencia (existencia o identificación). Grupo de Ingeniería del Software 12 Ejemplo de dependencias En un sistema de gestión de ventas La entidad Factura depende en existencia de la entidad Cliente (no tiene sentido una factura sin cliente). La entidad Línea de Factura depende en identificación de la entidad Factura (no tiene sentido una línea de factura sin factura y además no puede identificarse sólo con el nº de línea, necesita el nº de factura). 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º fecha Factura (0,n) E emitida a (1,1) ID compuesta (1,n) por Línea de Factura (0,n) E contiene nº cant. Cliente (1,1) (1,1) Producto Grupo de Ingeniería del Software 13 7

Transformación de interrelaciones ternarias Una interrelación ternaria se puede transformar en una entidad débil que representa a la interrelación y tres interrelaciones binarias con las entidades que participaban en la interrelación original A B I C B (1,1) I 3 I I 1 I 2 (1,1) A C (1,1) Grupo de Ingeniería del Software 14 Conceptos básicos La tabla (o relación) es el concepto básico del modelo relacional. La tabla contiene un conjunto de filas en las que se almacenan los valores de los campos. Toda tabla tiene un nombre único en la base de datos, en la que pueden almacenarse múltiples tablas. Cada campo de una tabla tiene un nombre y un tipo de datos asociado. Tabla dni apellidos nombre domicilio 123-A Pérez Pérez Pepe c/ Sol, 4 456-B Gómez Pérez Pepa c/ Luna, 6 789-C Pérez Gómez José c/ Nube, 8 101-D Gómez Ruiz Josefa c/ Mar, 1 111-E Ruiz Pérez Ana c/ Sol, 2 987-A Pérez Ruiz Lola c/ Luna, 4 Campos Filas Grupo de Ingeniería del Software 15 8

Conceptos básicos La clave primaria de una tabla es el conjunto de campos que identifica de manera única a cada fila, es decir, no puede haber dos filas con el mismo valor en los campos de la clave primaria. Una clave ajena es un conjunto de campos de una tabla cuyos valores deben coincidir con los de la clave primaria de otra tabla o ser nulos. 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 Grupo de Ingeniería del Software 16 Conceptos básicos La integridad referencial de una base de datos garantiza que todas las claves ajenas tomen valores correctos. Formas normales Una tabla está en 1FN si todos los tipos de sus campos son escalares. 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. Grupo de Ingeniería del Software 17 9

Inserción INSERT INTO Tabla (campo 1, campo n ) VALUES (valor 1, valor n ) Actualización UPDATE Tabla SET campo 1 = exp 1,, campo n = exp n [WHERE condición] Borrado DELETE FROM Tabla [WHERE condición] Grupo de Ingeniería del Software 18 Consulta SELECT [DISTINCT] [Tabla 1.]campo 1,, [Tabla n.]campo m FROM Tabla 1,, Tabla n [WHERE condición] [ORDER BY [Tabla i.]campo j,, [Tabla p.]campo q ] SELECT * FROM Tabla 1,, Tabla n [WHERE condición] [ORDER BY [Tabla i.]campo j,, [Tabla p.]campo q ] SELECT {SUM COUNT AVG VAR FIRST LAST } FROM Tabla 1,, Tabla n [WHERE condición] [GROUP BY [Tabla 1.]campo 1,, [Tabla n.]campo m ] [HAVING condición] [ORDER BY [Tabla i.]campo j,, [Tabla p.]campo q ] Grupo de Ingeniería del Software 19 10

Transformación de entidades Toda entidad se transforma en una tabla. Cada atributo de la entidad se transforma en un campo de la tabla. La clave primaria de la tabla se forma con los atributos identificativos de la entidad. En case de que la entidad sea débil en identificación, hay que añadir los campos identificativos de las entidades de 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. Grupo de Ingeniería del Software 20 Transformación de interrelaciones m:n Se transforma la interrelación m:n en una entidad débil y dos interrelaciones 1:n. Se aplica la transformación 1:n. Si los atributos de las entidades son realmente propiedades o características de las entidades, el modelo relacional resultante debería estar en 3FN. Grupo de Ingeniería del Software 21 11