Introducción al modelo de Datos. Qué vamos a aprender? Conceptos. Juan Luis Mora Blanco. Introducción a los modelos de datos 1

Documentos relacionados
Carlos Castillo UPF 2008

Bases de Datos Relacionales con Base de OpenOffice y consultas SQL para Tecnología de la Información.

Sistemas de Bases de Datos I. Modelo Conceptual. Modelo Entidad Relación

CREAR TABLAS EN BASES DE DATOS CON phpmyadmin. TIPOS DE DATOS BÁSICOS (VARCHAR, INT, FLOAT). INSERTAR FILAS. (CU00840B)

El Modelo Relacional. Carlos A. Olarte BDI

TIPOS DE CAMPOS Cada Sistema de Base de Datos posee tipos de campos que pueden ser similares o diferentes.

UNIDAD PEDAGÓGICA LIBERTAD, S.C.

El Sistema Gestor de Base de Datos (DBMS)

Gestión de la Información Práctica 1

Manejo de Bases de Datos Mysql en Lenguaje C

Checks, Triggers y Excepciones en InterBase: validando desde la base de datos

Bases de datos. Diseño y gestión

1. Lenguaje de Definición de Datos. 2. Lenguaje de Manipulación de. Datos. M. C. Gustavo Alfonso Gutiérrez Carreón

Tipos de datos estructurados

Jornadas sobre Gnu/Linex: Uso de Software Libre en las Administraciones públicas. Sonia Pizarro Redondo

Bases de Datos. Laboratorio III, L106/L111. Profesor: Goyo Celada

Modelo Relacional. El modelo relacional...1 El modelo entidad relación (que vimos ayer) es un modelo conceptual que sirve

Introducción. Campos de Aplicación SGBD. Índice. Aplicaciones Representativas. Aplicaciones Representativas

Diseño Lógico El modelo relacional. M.Sc.Lic. Cimar H. Meneses España

INSTITUCION EDUCATIVA MANUEL ANGEL ANACHURY AREA: TECNOLOGIA E INFORMATICA

Modelos de Datos. Modelo Entidad-Relación

EL MODELO RELACIONAL

Práctica 4: Estudio del SGBD Oracle 10 Gestión de Transacciones

Diseñando la primera transacción

Modelo Entidad Relación.MER.

Gestor de bases de datos MicroSoft Access (2 de 4)

ESCUELA DE INFORMÁTICA

MANUAL BÁSICO DE MYSQL

Tema 3: Diagramas de Casos de Uso. Arturo Mora Soto Octubre 2008

TEMA 6: LENGUAJE DE DEFINICIÓN DE DATOS (LDD)

Base de Datos. Docente: Ing. Francisco Rodríguez BASE DATOS. Resultados. Internet. Requerimientos

Definimos un Sistema Gestor de Bases de Datos o SGBD, también llamado DBMS (Data Base Management System) como una colección de datos relacionados entr

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable.

UNIDAD 1: CONCEPTOS BA SICOS DE BASE DE DATOS

UNIDAD 3 FORMATO DE PÁGINA

Fundamentos de programación JAVA

RESUMEN DE LAS DIAPOSITIVAS DE BASE DE DATOS 1

Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers

{ } Listado de elementos del conjunto

Gestion y Modelación de Datos Introducción

Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos. Unidad didáctica 1: Fase de análisis de requisitos Modelo E/R

PROPIEDADES DE LOS CAMPOS. Cada campo de una tabla dispone de una serie de características que proporcionan un control

Bases de Datos 3º Informática de Sistemas

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

PHPMYADMIN Y MYSQL. Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin.

Objetivos y Temario CURSO MySQL 5

GBD Diseño físico de DDBB

Asignatura: Administración de Bases de Datos

Formato para prácticas de laboratorio

DI SEÑO DE BASES DE DATOS Y SEGURIDAD DE LA INFORMACIÓN (31 de mayo de 2005) 3DUFLDO. APELLIDOS: NOMBRE: TITULACIÓN (Sistemas/Gestión):

EJERCICIOS EXCEL. Guardar el libro en tu pen drive, con el nombre PRACTICA1_ALUMNO_GRUPO.

Grandes volúmenes de datos Particionamiento. bases de datos

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 5. Sistemas de Bases de Datos. frente a Sistemas de Ficheros

Laboratorio Informix. Stored Procedures Triggers

INTRODUCCION A LAS BASES DE DATOS Procesamiento de Archivos vs Bases de Datos ARCHIVOS BASES DE DATOS

Modulo I: Introducción Gestores de Bases De Datos

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

Operaciones con bases de

PHP INSERT INTO VALUES. INSERTAR DATOS (REGISTROS O FILAS) EN BASE DE DATOS MySQL. EJEMPLOS Y EJERCICIO RESUELTO (CU00843B)

//Sección de manejo de excepciones. Las rutinas de manejo de errores //aparecen aqui

INTRODUCCIÓN A BASE DE DATOS. Excel - Access

Transacciones en SQL Server Autor: Cesar Manivesa (manivesa)

Guía práctica de SQL

Es un lenguaje de consulta estructurado establecido claramente como lenguaje de alto nivel estándar para sistemas de base de datos relacionales.

3.- ACCIONES CON DIAPOSITIVAS

IES Politécnico Estella

LEA ATENTAMENTE LAS PREGUNTAS Y RESUELVA CADA EJERCICIO COMO SE INDIQUE (EN CASO CONTRARIO EL EJERCICIO NO PUNTUARÁ) CADA EJERCICIO VALE UN PUNTO

Una base de datos de Access puede estar conformada por varios objetos, los más comunes son los siguientes:

WorkManager E.D. Manual guía de usuario Diseñador de formularios

Ing. Yim Isaias Apestegui Florentino

Acceso a bases de datos MySQL con PHP

Access SQL: DDL y DML. Una empresa de Ingeniería precisa una base de datos para la gestión de sus proyectos.

Transformación ER Relacional para el diseño de bases de datos relacionales

BASES DE DATOS TEMA 1

Bases de Datos OTROS ASPECTOS MODELO E-R

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

Capítulo 1: Introducción a los Sistemas de Gestión de Bases de Datos (SGBD)

Introducción a las Bases de Datos Documentales Bases de Datos Documentales Grao en Información e Documentación Curso 2013/2014

FUNDAMENTOS DE INFORMÁTICA

Modelo relacional. Modelo relacional

ACCEDER A BITÁCORA DE TRABAJO SQL SERVER

Anexo 6 Documento de Base de Datos

Insertar Datos en Tablas

Libro Mayor Capítulo 1 LIBRO MAYOR Y ACTIVOS FIJOS DacEasy Contabilidad

Base de datos relacional

Base de Datos. Formularios. Consultas

Informática Básica Práctica Tema 3 Ejercicios de SQL

Conocimiento de las Bases de Datos relacionales.

República Bolivariana de Venezuela Universidad Alonso de Ojeda Facultad de Ingeniería. Escuela de Computación.

LENGUAJE DE CONSULTA ESTRUCTURADO (SQL)

UNIDAD 2. writer USANDO TABLAS. CURSO: LibreOffice

Repaso. Laboratorio Informix. Stored Procedures. Ejemplo. Creación de stored procedures. Sql en un Procedimiento

Fundamentos de Programación Visual Basic

18/02/2012. En realidad, los modelos de datos no son más que lenguajes muy precisos y limitados a un problema muy concreto.

Demo: empezando a desarrollar la aplicación en su parte web

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Guía Taller I Conexión con la Base de Datos Introducción a PostgreSQL

Diseño de Base de Datos Relacionales

Está basado en el álgebra y en el cálculo relacional.

Transcripción:

Juan Luis Mora Blanco. Introducción a los modelos de datos 1 Introducción al modelo de Datos Qué vamos a aprender?...1 Conceptos...1 Ejemplo 1. Cursos del Sexpe...2 Ventajas de las bases de datos...2 Introducción a los tipos de datos...2 Ejemplo. La editorial...2 Sistema gestor de bases de datos...3 Independencia de datos...3 Lenguajes de consulta a bases de datos...3 Ejercicios...4 Transacciones...4 Como se diseñan los diagramas E/R...4 Ejercicios...6 Cardinalidades...6 Claves externas...6 Qué vamos a aprender? Entender un problema de datos como entidades y relaciones Dibujar un diagrama entidad relación Pasar el diagrama entidad relación a una base de datos en SQL Poner datos en la base de datos usando SQL Hacer consultas usando SQL Conceptos 1. Entidad, objeto del mundo real, se puede contar, debe tener atributos (por ejemplo adjetivos). 2. Relación, las relaciones se establecen siempre entre entidades y constan de parte de los atributos de estas entidades. Aparte de esto tienen otras propiedades que veremos más adelante. 3. Diagrama entidad relación (E/R). Es un diagrama donde se ponen la entidades con sus respectivas relaciones. 4. SQL, lenguaje de consulta estructurado. Es un lenguaje de alto nivel. Se usa para : Definir datos, modificar datos, hacer consultas. 5. Consultas, son preguntas que lanzamos a nuestro modelo de datos, usando algún lenguaje como SQL. 6. Sistema gestor de base de datos. Software que nos permite olvidarnos de la implementación física de los datos. 7. Base de datos, conjunto de datos relacionado entre sí. 8. Las bases de datos se usan en: inventarios, reservas, compras, ventas...

Juan Luis Mora Blanco. Introducción a los modelos de datos 2 Ejemplo 1. Cursos del Sexpe Entidades: Alumnos Cursos Notas Posibles atributos: Alumnos: Nombre, Apellidos, DNI, fecha nacimiento. Cursos: Nombre, horas, fecha de inicio, fecha de fin. Notas: Alumno, nota, curso. Posibles relaciones Alumnos pertenece a curso Alumno saca nota en curso Notas pertenecen a curso Ventajas de las bases de datos Búsquedas rápidas Posibilidad de consultas complejas. No tenemos que saber como están guardados los ficheros. Introducción a los tipos de datos Desde que estamos usando Pseint, usamos a diario tipos de datos, es lo que hacemos al inicializar una variable. Por ejemplo cuando ponemos a< 0, establecemos una variable dentro de la memoria que se llama a y forzosamente va a almacenar siempre valores numéricos {, 2, 1, 0, 1, 2, } o también almacenaría número decimales. Ahora en este tema, vamos a ver estos tipos de datos de una forma más explicita la cual permite programar sin algunos problemas que hemos tenido en Pseint. Char y Varchar, ambas son similares, almacenan cadenas caracteres de una longitud determinada (0 255), pero tienen diferencias a nivel físico. Es más eficiente el uso de Varchar, por tanto casi siempre usaremos este. Text, almacena textos completos. Integer, número enteros. Date, fechas. Ejemplo. La editorial Autores Libros Id_autor integer Nombre Varchar(50) Apellidos Varchar (100) Telefono Integer Dirección Text SBN Integer Título Text Descripción Text Autor Integer Páginas Integer Publicado Date

Juan Luis Mora Blanco. Introducción a los modelos de datos 3 Sistema gestor de bases de datos A continuación se muestra un esquema típico de un SGBD: de datos, estudiaremos dos tipos de independencia: 1. Independencia física de datos (por ejemplo migrar de servidor no ofrecerá problemas). 2. Independencia lógica de datos (por ejemplo agregar atributos no modificaría las vistas). Lenguajes de consulta a bases de datos LDD, lenguaje de definición de datos LMD, lenguaje manipulación de datos 1. Nivel de vistas, es lo que ve el usuario, es decir, son los datos ya preparados para su presentación. 2. Nivel conceptual. Es el diagrama entidad relación más restricciones como pro ejemplo los tipos de datos. 3. Nivel físico, es la estructura interna del sistema. Independencia de datos Un SGBD aparte de mantener coherencia de datos, debe ofrecer independencia Ejemplo mysql CREATE TABLE "alumnos" ( id_alumno integer, Nombre varchar(20), Apellidos varchar(50), DNI varchar (15), ) Fecha_nacimiento Date Select apellidos from alumnos Select nombre, apellidos from alumnos where fecha_nacimiento= 16/11/1979 Insert into alumnos ( 22, Juan, Blanco Gonzalez, 15380353E, 17/02/1978 )

Juan Luis Mora Blanco. Introducción a los modelos de datos 4 Ejercicios Aunque no vamos a ver en profundidad Sql hasta el próximo módulo, si es conveniente que cojamos cierta soltura con el lenguaje, por eso de vez en cuando escribiremos un poco de SQL para ir familiarizarnos con él. Vamos a empezar con el LDD, con el lenguaje de definición de datos. Como su propio nombre indica, con este lenguaje se definen los datos. Con lo que sabemos de momento, podemos decir que con el LDD vamos dar forma a nuestras entidades. Par ello usaremos la sentencia CREATE, la forma de usar la sentencia es la siguiente: CREATE TABLE "nombre_tabla" ("columna 1" "tipo_de_datos_para_columna_1", "columna 2" "tipo_de_datos_para_columna_2",... ) Haz estos ejercicios Crea la tabla de los alumnos Crea la tabla de los cursos Crea la tabla de los escritores Crea la tabla de los libros Piensa las relaciones que se establecen entre las distintas tablas Transacciones Todo sistema gestor de bases de datos emplea transacciones, en principio nosotros las vamos a usar de una forma totalmente transparente (Se harán solas y de forma automática), no obstante es muy aconsejable saber que son y algunas propiedades que deben cumplir. Una transaccion es un conjunto de operaciones que se realizan sobre una base de datos, por ejempo una inserción, un borrado, una consulta, la creación de una tabla, la modificación de una restricción. Ante todo es muy importante que tras una transacción todo quede correcto y en caso contrario se debe poder volver a tras (rollback), para dejarlo todo igual que antes. Por tanto un SGBD debe asegurar las siguiente propiedades (A.C.I.D) Atomicidad, se ejecuta toda la transacción o nada. Consistencia, la base de datos debe ser consistente antes y después de la transacción. Insolation (aislamiento), las transacciones son independientes entre sí. Durabilidad, la transacción se almacena de forma permanente. Como se diseñan los diagramas E/R Vamos a aprender a Diseñar un diagrama entidad relación usando el ejemplo del cine. Para debemos saber, al menos (cuando tratamos problemas reales no sabemos todos los atributos desde el principio y seguramente según desarrollamos surgirán algunos atributos nuevos): 1. Se desean almacenar, películas según los actores que actúan y el estudio que las ha realizado. 2. De cada pelicular debemos saber: 1. Nombre y año 3. De cada actor: 1. Nombre y apellidos 4. De cada estudio nombre y dirección En la página siguiente se muestra una posible solución para el problema

Juan Luis Mora Blanco. Introducción a los modelos de datos 5 Entidades 1. Películas 2. Actores 3. Estudios Atributos Películas 1. Nombre 2. Año Atributos Actores 1. Nombre 2. Apellidos Atributos Estudio 1. Nombre 2. Dirección Vamos a aprovechar este ejemplo para hablar acerca de las características de los atributos: 1. Multivaluados y monovaluados. Teléfonos y nombre. 2. Almacenados o derivados. Nombre y edad. 3. Posiblemente nulos. 4. Claves. Identificadores que hacen que cada elemento de la entidad sea totalmente único. Estas claves son necesarias para hace las relaciones. Busquemos las claves del cine Normalmente las claves aparecen para poder definir las relaciones. Para eliminar atributos multivaluados, que son más complicados. Vamos a supones que de cada película sólo almacenamos el actor principal. Si miramos las relaciones vermos que para saber que actor actúa en cada película debemos poder aislar totalmente cada autor y cada película. De las películas no podemos tomar como clave el nombre ya qye varias películas se pueden titular igual, tampoco podemos tomar el año, ya que en un año se pueden producir muchas películas, quizás nos sirviese el el par película nmbre, pero sería muy arriegado. Por tanto pondremos un atributo identificador que se llamará id_película. Más o menos lo mismo nos pasaría con los Actores y con los estudios por eso los atributos quedaría así: Atributos Películas 1. Id_película 2. Nombre 3. Año 4. id_actor Atributos Actores 1. id_actor (DNI) 2. Nombre 3. Apellidos

Juan Luis Mora Blanco. Introducción a los modelos de datos 6 Atributos Estudio 1. id_estudio 2. Nombre 3. Dirección El diagrama E/R con las claves quedaría: Ejercicios 1. Crea en Sql las tablas correspondientes a las distintas entidades del cine. 2. Diseña los diagramas E/R para los cursos sexpe. 3. Diseña los diagramas E/R para los libros y autores. Cardinalidades La cardinalidad es el número de elementos de cada entidad que forma parte de una relación, por ejemplo: Piensa y representa las cardinalidad de las siguientes relaciones: Médico trata a paciente Médico hace receta Cama pertenece a hospital Autor escribe en libro Actor protagoniza película Representa gráficamente las anteriores relaciones. Claves externas Vamos a hacer un pequeño ejemplo con las claves externas usando el cine y los cursos (No obstante ya lo hemos visto en el caso de los autores y libros). El truco se basa en ponerle a una entidad los atributos distintivos de la otra y así ya tenemos las relaciones incluidas dentro de la entidad. 1. Añade claves externas a los cursos del Sexpe 2. Añade claves externas al cine.

Juan Luis Mora Blanco. Introducción a los modelos de datos 7 Relaciones con atributos Volviendo al ejemplo del cine, vamos a hacerlo ahora para múltiples actores por película, para ello tendremos que usar relaciones con atributos, veamoslo: Relaciones multi entidad Relaciones ternarias Son aquellas que se establecen entre tres entidades, normalmente las relaciones con atributos desembocan en una relación ternaria. Relaciones recursivas

Juan Luis Mora Blanco. Introducción a los modelos de datos 8 Entidades débiles y fuertes Entidad débil 1. No tienen atributos clave propios 2. Necesitan otra entidad para ser 3. identificados Entidad fuerte 1. Tiene clave primaria a primera vista (No confundir con la entidades dependientes!!!!!) Ejercicios 1. Define: 1. Entidad 2. Relación 3. SQL 4. SGBD 5. Atributo 6. Clave o identificadores 7. Diagrama E/R 8. Clave Externa 9. SQL 10. LDD 11. LMD 2. Enumera y describe las propiedades ACID o ACAD 3. Haz el diagrama E/R que resuelva este problema: Una empresa de Villanueva desea tener una base de datos donde se controlen los empleados y departamentos. De cada empleado se quiere saber: 1. Datos personales, nombre, apellidos, dirección, teléfonos, e_mail, nss, dni, departamento al que pertenecen y sueldo mensual. 2. De cada departamento queremos saber, nombre, ubicación, director, teléfono de contacto. 3. Ya sabes, pon las entidades, las relaciones, los atributos, las claves, las claves externas, la cardinalidad, las restricciones y todo lo necesario para que el diseño sea lo más real posible. 4. Intenta crear las tablas correspondientes a las entidades del ejercicio anterior en SQL 5. Haz el diagrama E/R que resuelva este problema: Una empresa de Villanueva desea tener una base de donde registrar las ventas por correo que realiza. Para ello quiere almacenar, clientes, productos y compras: 1. De cada cliente tenemos que almacenar: nombre, apellidos, dirección, teléfonos, e_mail, nss, dni, código postal y provincia. 2. De cada producto tenemos que almacenar, nombre, precio, stock, referencia. 3. De cada compra debemos saber, cliente que ha comprado, productos comprados y también se tiene que poder obtener el precio total. 4. Ya sabes, pon las entidades, las relaciones, los atributos, las claves, las claves externas, la cardinalidad, las restricciones y todo lo necesario para que el diseño sea lo más real posible. 6. Intenta crear las tablas correspondientes a las entidades del ejercicio anterior en SQL