Escolar Documentos
Profissional Documentos
Cultura Documentos
PLANTEL OBREGON
CONSTRUCCIÓN DE BASE DE
DATOS
Informática IV Semestre Ene-Jun 2017 Prof. Abraham Cuadras
Unidad de aprendizaje: 1
Diseño de bases de datos relacionales.
Propósito de la unidad
Diseñará bases de datos a partir del modelo entidad-relación para almacenar, manejar y recuperar
información.
Resultado de aprendizaje
1.1 Elabora el diseño conceptual de la base de datos, a partir de la recolección y análisis de los
requerimientos funcionales del usuario.
Actividades de evaluación
1.1.1 Diseño conceptual de una base de datos, que atienda las necesidades de una empresa,
empleando:
Entidades
Atributos
Relaciones
Las estructuras de datos de la base: El tipo de los datos que hay en la base y la forma
en que se relacionan.
Las restricciones de integridad: Un conjunto de condiciones que deben cumplir los datos
para reflejar correctamente la realidad deseada.
Operaciones de manipulación de los datos: operaciones de agregar, borrar, modificar y
recuperar los datos de la base.
Las bases de datos orientadas a objetos se diseñan para trabajar bien en conjunto con
lenguajes de programación orientados a objetos como Java, C#, Visual Basic.NET y C++.
Las bases de datos orientadas a objetos usan exactamente el mismo modelo que estos
lenguajes de programación.
Las bases de datos orientadas a objetos son una buena elección para aquellos sistemas que
necesitan un buen rendimiento en la manipulación de tipos de dato complejos.
Las bases de datos orientadas a objetos proporcionan los costos de desarrollo más bajos y el
mejor rendimiento cuando se usan objetos gracias a que almacenan objetos en disco y tienen una
integración transparente con el programa escrito en un lenguaje de programación orientado a
objetos.
C. Modelos semánticos.
Estos sistemas también proporcionan métodos para mantener la integridad de los datos, para
administrar el acceso de usuarios a los datos y para recuperar la información si el sistema se
corrompe. Permiten presentar la información de la base de datos en variados formatos. La
mayoría incluye un generador de informes. También pueden incluir un módulo gráfico que permita
presentar la información con gráficos y tablas.
El SGBD es una aplicación que permite a los usuarios definir, crear y mantener la BD y
proporciona un acceso controlado a la misma. Debe prestar los siguientes servicios:
Creación y definición de la BD: Especifica la estructura, el tipo de los datos, las restricciones
y relaciones entre ellos mediante lenguajes de definición de datos.
Manipulación de los datos: Realiza consultas, inserta, elimina y actualiza registros de datos
utilizando lenguajes de manipulación de datos.
Acceso controlado a los datos de la BD: Utiliza mecanismos de seguridad de acceso a los
usuarios.
Mantener la integridad y consistencia: Utiliza mecanismos para evitar que los datos sean
perjudicados por cambios no autorizados.
• Nivel conceptual:
Describe la estructura de toda la BD para un grupo de usuarios mediante un esquema conceptual.
Este esquema describe las entidades, atributos, relaciones, operaciones de los usuarios y
restricciones, ocultando los detalles de las estructuras físicas de almacenamiento. Representa la
información contenida en la BD.
El éxito del SGBD reside en mantener la seguridad e integridad de los datos. Lógicamente tiene
que proporcionar herramientas a los distintos usuarios. Entre las herramientas que proporciona
están:
1. Control de redundancia.
2. Restricción de accesos no autorizados.
3. Almacenamiento de objetos y estructuras de datos de programas.
4. Suministro múltiple de interfaces con los usuarios.
5. Recuperación de vínculos complejos entre los datos.
6. Cumplimiento de las restricciones de integridad.
7. Respaldo y recuperación.
Los SGBD tienen que realizar tres tipos de funciones para ser considerados válidos.
Permite al diseñador de la base de datos crear las estructuras apropiadas para integrar
adecuadamente los datos. Esta función es la que permite definir las tres estructuras de la base de
datos (relacionadas con sus tres esquemas).
• Estructura interna
• Estructura conceptual
• Estructura externa
Esta función se realiza mediante el lenguaje de descripción de datos o DDL. Mediante ese
lenguaje:
Función de manipulación.
Permite modificar y utilizar los datos de la base de datos. Se realiza mediante el lenguaje de
modificación de datos o DML. Mediante ese lenguaje se puede:
Añadir datos
Eliminar datos
Modificar datos
Buscar datos
Actualmente se suele distinguir aparte la función de buscar datos en la base de datos (función de
consulta). Para lo cual se proporciona un lenguaje de consulta de datos o DQL.
Función de control.
Mediante esta función los administradores poseen mecanismos para proteger las visiones de los
datos permitidas a cada usuario, además de proporcionar elementos de creación y modificación
de esos usuarios.
Se suelen incluir aquí las tareas de copia de seguridad, carga de ficheros, auditoria, protección
ante ataques externos, configuración del sistema,... El lenguaje que implementa esta función es el
lenguaje de control de datos o DCL.
MySQL:
Es un sistema de gestión de base de datos relacional, multihilo y multiusuario con más de seis
millones de instalaciones. MySQL AB desarrolla MySQL como software libre en un esquema de
licenciamiento dual. Por un lado lo ofrece bajo la GNU GPL, pero, empresas que quieran
incorporarlo en productos privativos pueden comprar a la empresa una licencia que les permita
ese uso.
Oracle:
Es un sistema de gestión de base de datos relacional (o RDBMS por el acrónimo en inglés de
Relational Data Base Management System), fabricado por Oracle Corporation.
Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando
su:
• Soporte de transacciones.
• Estabilidad.
• Escalabilidad.
• Es multiplataforma.
Su mayor defecto es su enorme precio, que es de varios miles de dólares (según versiones y
licencias).
• Soporte de transacciones.
• Escalabilidad, estabilidad y seguridad.
• Soporta procedimientos almacenados.
• Incluye también un potente entorno gráfico de administración, que permite el uso de comandos
DDL y DML gráficamente.
• Permite trabajar en modo cliente-servidor donde la información y datos se alojan en el servidor
y las terminales o clientes de la red sólo acceden a la información.
• Además permite administrar información de otros servidores de datos
Microsoft Access:
Es un sistema de gestión de bases de datos Relacional creado y modificado por Microsoft (DBMS)
para uso personal de pequeñas organizaciones. Es un componente de la suite Microsoft Office
aunque no se incluye en el paquete “básico”. Una posibilidad adicional es la de crear ficheros con
bases de datos que pueden ser consultados por otros programas.
Características:
DB2:
Es una marca comercial, propiedad de IBM, bajo la cual se comercializa el sistema de gestión de
base de datos.
La versión más actual es DB2 9, la cual utiliza XML como motor, además el modelo que utiliza es
el jerárquico en lugar del modelo relacional que utilizan otros gestores.
Visual FoxPro:
Es un lenguaje de programación orientado a objetos y procedural, un Sistema Gestor de Bases de
datos o Database Management System (DBMS), y desde la versión 7.0, un Sistema administrador
de bases de datos relacionales, producido por Microsoft.
Características:
Visual FoxPro ofrece a los desarrolladores un conjunto de herramientas para crear aplicaciones de
bases de datos para el escritorio, entornos cliente/servidor, Tablet, PC o para la Web.
PostgreSQL.
Es un sistema de gestión de base de datos relacional orientada a objetos y libre, publicado bajo la
licencia BSD.
Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no es manejado por
una empresa y/o persona, sino que es dirigido por una comunidad de desarrolladores que trabajan
de forma desinteresada, altruista, libre y/o apoyada por organizaciones comerciales. Dicha
comunidad es denominada el PGDG (PostgreSQL Global Development Group)
Arquitectura Cliente/Servidor.
La arquitectura cliente-servidor es un modelo de aplicación distribuida en el que las tareas se
reparten entre los proveedores de recursos o servicios, llamados servidores, y los demandantes,
llamados clientes. Un cliente realiza peticiones a otro programa, el servidor, quien le da respuesta.
Esta idea también se puede aplicar a programas y base de datos que se ejecutan sobre una sola
computadora, aunque es más ventajosa en un sistema operativo multiusuario distribuido a través
de una red de computadoras.
Algunos ejemplos de aplicaciones computacionales que usen el modelo cliente-servidor son las
bases de datos del Correo electrónico, de un Servidor de impresión, la World Wide Web y los
buscadores de información en Internet.
La red cliente-servidor es una red de comunicaciones en la cual los clientes están conectados a
un servidor, en el que se centralizan los diversos recursos y aplicaciones con que se cuenta; y que
los pone a disposición de los clientes cada vez que estos son solicitados. Esto significa que todas
las gestiones que se realizan se concentran en el servidor, de manera que en él se disponen los
requerimientos provenientes de los clientes que tienen prioridad, los archivos de bases de datos
que son de uso público y los que son de uso restringido, los archivos que son de sólo lectura y los
que, por el contrario, pueden ser modificados, etc. Este tipo de red puede utilizarse conjuntamente
en caso de que se esté utilizando en una red mixta.
Un diagrama o modelo entidad-relación (a veces denominado por sus siglas en inglés, E-R "Entity
relationship", o del español DER "Diagrama de Entidad Relación") es una herramienta para el
modelado de datos que permite representar las entidades relevantes de un sistema de
información así como sus interrelaciones y propiedades.
El Modelo Entidad-Relación.
El modelado de datos no acaba con el uso de esta técnica. Son necesarias otras técnicas para
lograr un modelo directamente implementable en una base de datos. Brevemente:
Permite mostrar resultados entre otras entidades pertenecientes a las existentes de manera que
se encuentre la normatividad de archivos que se almacenaran.
Entidades y atributos
El modelo de datos entidad-relación está basado en una percepción del mundo real que consta de
una colección de objetos básicos, llamados entidades, y de relaciones entre esos objetos.
Entidad
Representa una “cosa” u "objeto" del mundo real con existencia independiente, es decir, se
diferencia unívocamente de otro objeto o cosa, incluso siendo del mismo tipo, o una misma
entidad.
Algunos Ejemplos:
Una persona. (Se diferencia de cualquier otra persona, incluso siendo gemelos).
Un automóvil. (Aunque sean de la misma marca, el mismo modelo,..., tendrán atributos
diferentes, por ejemplo, el número de chasis).
Una casa (Aunque sea exactamente igual a otra, aún se diferenciará en su dirección).
Una entidad puede ser un objeto con existencia física como: una persona, un animal, una casa,
etc. (entidad concreta); o un objeto con existencia conceptual como: un puesto de trabajo, una
asignatura de clases, un nombre,etc. (entidad abstracta).
Una entidad está descrita y se representa por sus características o atributos. Por ejemplo, la
entidad Persona las características: Nombre, Apellido, Género, Estatura, Peso, Fecha de
nacimiento.
Atributos
Los atributos son las características que definen o identifican a una entidad. Estas pueden ser
muchas, y el diseñador solo utiliza o implementa las que considere más relevantes.
En un conjunto de entidades del mismo tipo, cada entidad tiene valores específicos asignados
para cada uno de sus atributos, de esta forma, es posible su identificación unívoca.
Ejemplos:
A la colección de entidades «alumnos», con el siguiente conjunto de atributos en común, (id,
nombre, edad, semestre), pertenecen las entidades:
Cada una de las entidades pertenecientes a este conjunto se diferencia de las demás por el valor
de sus atributos. Nótese que dos o más entidades diferentes pueden tener los mismos valores
para algunos de sus atributos, pero nunca para todos.
Relaciones
Describen cierta dependencia entre entidades o permite la asociación de las mismas.
Ejemplo:
Conjunto de relaciones
Restricciones
Son reglas que deben mantener los datos almacenados en la base de datos.
Correspondencia de cardinalidades
Dado un conjunto de relaciones en el que participan dos o más conjuntos de entidades, la
correspondencia de cardinalidad indica el número de entidades con las que puede estar
relacionada una entidad dada.
Uno a Uno: (1:1) Un registro de una entidad A se relaciona con solo un registro en una
entidad B. (ejemplo dos entidades, profesor y departamento, con llaves primarias,
codigo_profesor y jefe_depto respectivamente, un profesor solo puede ser jefe de un
departamento y un departamento solo puede tener un jefe).
Uno a varios: (1:N) Un registro en una entidad en A se relaciona con cero o muchos
registros en una entidad B. Pero los registros de B solamente se relacionan con un registro
en A. (ejemplo: dos entidades, vendedor y ventas, con llaves primarias, codigo_vendedor y
venta, respectivamente, un vendedor puede tener muchas ventas pero una venta solo
puede tener un vendedor).
Varios a Uno: (N:1) Una entidad en A se relaciona exclusivamente con una entidad en B.
Pero una entidad en B se puede relacionar con 0 o muchas entidades en A (ejemplo
empleado-centro de trabajo).
Varios a Varios: (N:M) Una entidad en A se puede relacionar con 0 o con muchas
entidades en B y viceversa (ejemplo asociaciones-ciudadanos, donde muchos ciudadanos
pueden pertenecer a una misma asociación, y cada ciudadano puede pertenecer a muchas
asociaciones distintas).
Resultado de aprendizaje
1.2 Diseña la estructura lógica de la base de datos, mediante la normalización de los esquemas
relacionales.
Actividades de evaluación
1.2.1. Diseña y normaliza base de datos relacional acorde con lo definido en la actividad de
evaluación 1.1.1.
Introducción
Las bases de datos relacionales se basan en el uso de tablas (también se las llama relaciones).
Las tablas se representan gráficamente como una estructura rectangular formada por filas y
columnas
Cada fila posee una ocurrencia o ejemplar de la instancia o relación representada por la tabla (a
las filas se las llama también tuplas o registros).
Cada columna almacena información sobre una propiedad determinada de la tabla (se le llama
también atributo), nombre, apellidos, edad,… Cuando no se conoce el valor de un atributo se le
asigna el valor nulo. Los valores nulos indican contenidos de atributos que no tienen ningún valor.
En claves foráneas indican que el registro actual no está relacionado con ninguno. Las bases de
datos relacionales admiten utilizar ese valor en todo tipo de operaciones
Relación (Tabla). Es el elemento central del modelo relacional. Son los objetos principales sobre
los que debe recogerse información y generalmente denotan personas, lugares, cosas o eventos
de interés. Una relación tiene un nombre, un conjunto de atributos que representan sus
propiedades y está formada por un conjunto de tuplas que incluyen los valores que cada uno de
los atributos toma para cada una de las tuplas de la relación. Una relación se representa mediante
una tabla bidimensional (las columnas representan los atributos y las filas representan las tuplas o
registros).
Tupla o Registro. Corresponde a una fila de la tabla. Representa cada una de las ocurrencias de
la relación (equivale a lo que conocemos como ocurrencia de un registro, en ficheros clásicos). El
número de tuplas se denomina cardinalidad, la cardinalidad varía con el tiempo.
Dominio. Es una colección de valores, de los cuales uno o más atributos obtienen sus valores
reales. Pueden ser finitos (días de la semana, meses del año, letras del alfabeto, etc.) o infinitos
(números reales, días del calendario – siempre que no estén limitados por el sistema operativo o
el SGBD-, etc.)
Las bases de datos relacionales pasan por un proceso al que se le conoce como normalización de
una base de datos, el resultado de dicho proceso es un esquema que permite que la base de
datos sea usada de manera óptima.
Clave primaria. Es posible que una relación posea más de una clave candidata, en ese caso, se
escoge una de ellas como clave primaria y el resto se denomina claves alternativas. En la práctica
la elección de la clave primaria suele ser sencilla. Toda relación, sin excepción, tiene una clave
primaria y suele representarse subrayando y/o añadiendo el carácter # al atributo (o conjunto de
atributos) correspondiente.
Clave foránea, ajena o extranjera. Una clave foránea es una referencia a una clave en otra
tabla, determina la relación existente en dos tablas. Las claves foráneas no necesitan ser claves
únicas en la tabla donde están y sí a donde están referenciadas.
Por ejemplo, el código de departamento puede ser una clave foránea en la tabla de empleados.
Se permite que haya varios empleados en un mismo departamento, pero habrá uno y sólo un
departamento por cada clave distinta de departamento en la tabla de departamentos.
Clave índice: Las claves índices surgen con la necesidad de tener un acceso más rápido a los
datos. Los índices pueden ser creados con cualquier combinación de campos de una tabla. Las
consultas que filtran registros por medio de estos campos, pueden encontrar los registros de
forma no secuencial usando la clave índice.
Las bases de datos relacionales incluyen múltiples técnicas de ordenamiento, cada una de ellas
es óptima para cierta distribución de datos y tamaño de la relación.
Los índices generalmente no se consideran parte de la base de datos, pues son un detalle
agregado. Sin embargo, las claves índices son desarrolladas por el mismo grupo de
programadores que las otras partes de la base de datos
Una base de datos consiste en un conjunto de datos relacionados entre sí. Por datos entendemos
hechos conocidos que pueden registrarse y que tienen un significado implícito. Pero la acepción
común del término base de datos suele ser más restringida.
Una base de datos es un conjunto de datos lógicamente coherente, con cierto significado
inherente. Una colección aleatoria de datos no puede considerarse propiamente una base de
datos.
Toda base de datos se diseña, construye y puebla con datos para un propósito específico. Está
dirigida a un grupo de usuarios y tiene ciertas aplicaciones preconcebidas que interesan a dichos
usuarios.
Datos
Los datos son símbolos que describen condiciones, hechos, situaciones o valores. Los datos se
caracterizan por no contener ninguna información. Un dato puede significar un número, una letra,
un signo ortográfico o cualquier símbolo que represente una cantidad, una medida, una palabra o
una descripción.
Campo
Registro
Un registro (también llamado fila) representa un ítem único de datos implícitamente estructurados
en una tabla. En términos simples, una tabla de una base de datos puede imaginarse formada de
filas y columnas o campos. Cada fila de una tabla representa un conjunto de datos relacionados, y
todas las filas de la misma tabla tienen la misma estructura. Un registro es un conjunto de campos
que contienen los datos que pertenecen a una misma repetición de entidad.
Tabla de datos:
Una tabla es utilizada para organizar y presentar información. Las tablas se componen de filas y
columnas de celdas que se pueden rellenar con textos y gráficos. Las tab
Registro: es cada una de las filas en que se divide la tabla. Cada registro contiene datos de
los mismos tipos que los demás registros. Ejemplo: en una tabla de nombres y direcciones,
cada fila contendrá un nombre y una dirección.
Campo: es cada una de las columnas que forman la tabla. Contienen datos de tipo
diferente a los de otros campos. En el ejemplo anterior, un campo contendrá un tipo de
datos único, como una dirección, o un número de teléfono, un nombre, etc.
Tabla1: Colegiaturas