Sie sind auf Seite 1von 48

Bases de Datos

¿Qué es una Base de Datos?


• Una BD no es más que un conjunto de información (un
conjunto de datos) relacionada que se encuentra
agrupada o estructurada

• Informáticamente una BD es un sistema formado por un


conjunto de datos almacenados en memorias masivas
que permiten acceso directo a ellos y un conjunto de
programas que manipulan ese conjunto de datos
Definición formal
Es un conjunto exhaustivo (en su modelización del
mundo real) de datos estructurados, fiables y
homogéneos, organizados independientemente de su
utilización y de su implementación en máquina,
accesibles en tiempo real, compartibles por usuarios
concurrentes que tienen necesidades de información
diferentes y no predecibles en el tiempo
Propiedades de los datos
• Estructurados independientemente de las aplicaciones y
del soporte de almacenamiento que los contiene

• Presentan la menor redundancia posible

• Son compartidos por varios usuarios y/o aplicaciones

• Están bajo un control centralizado


Sistemas de Gestión de BD
• Entre la BD física (el almacenamiento real de los datos)
y los usuarios del sistema existe un interfaz de software
que recibe el nombre de SGBD y es el responsable de
tratar todas las peticiones de información de los usuarios

• Un SGBD es un conjunto de programas de propósito


general que permite controlar el acceso y la utilización
de la BD., por los usuarios, para incluir, modificar o
recuperar información, incluyendo prestaciones para
conseguir la independencia, la integridad y la seguridad
de los datos, así como la concurrencia de usuarios
Bases de Datos Relacionales
• Los sistemas relacionales operan conceptualmente
sobre archivos o Tablas de datos y no sobre los datos
individuales contenidos en el archivo

• Las tablas permiten representar la información de forma


mas compacta

• Es posible acceder a la información contenida en dos o


más tablas simultáneamente
Características de las Tablas

• Una tabla está formada por Filas y Columnas

• Las Filas son equivalentes a los Registros de un


archivo clásico (contienen los valores de los objetos o
entidades descritas)

• Las Columnas son equivalentes a los Campos (que


representan los atributos de los objetos o entidades
descritas). El conjunto de valores que puede tomar un
campo se llama dominio.
Ejemplo de Tabla

Clave
Primaria
DNI Nombre Apellido Teléfono Nombre
Campos
2341167 Pedro Alonso 6273652 Registro

5625711 María Gómez 6718234 Registro

6718273 José López 6715629 Registro

Campo Campo Campo Campo


El concepto: CLAVE

• Una clave es una referencia que se utiliza para


identificar los registros de forma única y está formada
por uno o mas atributos (columnas) de los registros

• La Clave Primaria o principal es la que es mínima en


cuanto al número de campos que la componen
La Clave Primaria

• Es importante porque permite acceder a cada


uno de los elementos de la BD por
direccionamiento asociativo mediante la
combinación de tres factores:
– El nombre de la Tabla
– La columna
– El valor de la clave
Leyes básicas de los SBDR

• La BD contendrá generalmente muchas Tablas


• Una Tabla sólo contiene un número fijo de Campos
• El nombre de los Campos que componen una Tabla es
distinto
• Cada Registro de una Tabla es único
• El orden de los Registros y el orden de los Campos de
una Tabla no está determinado
• Para cada Campo existe un conjunto de valores
posibles (Dominio)
El lenguaje SQL

• SQL: Structured Query Language

• Cualquier SBDR lleva asociado un lenguaje de


manipulación de datos compuesto de una serie de
mandatos u órdenes que permiten interrogar y modificar
la BD

• Ejemplo: Select rut, nombre FROM Alumnos;


Diseño de BD Relacionales I
• Planificación del tipo de información a
almacenar:
– Información disponible
– Información que necesitamos

• Esquematizar sobre papel el problema

• Considerar los datos a gestionar y estimar el


espacio de memoria que se necesita
Diseño de BD Relacionales II

• Los dos aspectos mas importantes a la hora del


diseño de las Tablas son:
– Campos
• Nombre del campo
• Tipo del campo
• Tamaño del campo
– Datos
• Caracteres (texto), valores numéricos, fechas,
informaciones lógicas, imágenes, multimedia.
Fases del diseño de una BD

• Definición de los datos (análisis de los datos existentes)

• Refinamiento de los datos (depuración de los datos


necesarios)

• Establecer relaciones entre los campos


Definición de los datos
• Lista en papel de todos los atributos (Campos)

• Examinar la aplicación con detalle para determinar


exactamente la clase de información que debe
almacenarse en la BD

Número anexo Rut


Nombre
1 N
Oficina Tiene Profesor
De Entidad a Tabla

Cada tipo de entidad se convierte en una tabla única


identificada con un nombre que puede ser el mismo de
la entidad

Las cabecera de las columnas de tabla corresponden a


los nombres de los atributos de la entidad (no debe
haber nombres repetidos en una misma tabla)

Mg. Fidel Ponce P. 17


Representación de Una tabla

Rut Nombre Calle Ciudad


9.784.231-1 Manuel González López Monjitas Santiago

8.257.129-4 José Pérez Garrido Ahumada Santiago

7.235.897-k Matías Gatica León Las Heras Valparaíso

Mg. Fidel Ponce P. 18


Atributos compuestos
Los atributos compuestos se deben separar creando
atributos distintos para cada uno de sus elementos.

Ej. La entidad cliente tiene un atributo llamado nombre


que tiene tres componentes primer_nombre,
apellido_paterno y apellido_materno.

La tabla cliente correspondiente tendrá los atributos


primer_nombre, apellido_paterno y apellido_materno en
lugar del atributo nombre.

Mg. Fidel Ponce P. 19


Representación de Una tabla

Rut Nombre A_Paterno A_Materno Calle Ciudad


9.784.231-1 Manuel González López Monjitas Santiago

8.257.129-4 José Pérez Garrido Ahumada Santiago

7.235.897-k Matías Gatica León Las Heras Valparaíso

Mg. Fidel Ponce P. 20


Atributos Multivaluados

• Un atributo multivaluado M de una entidad E, se


representa por una tabla separada ME

• La tabla ME tiene los atributos correspondientes a


la clave primaria de E más los atributos
correspondientes al multivaluado

Mg. Fidel Ponce P. 21


Atributos Multivaluados

• Ej. La entidad afiliado tiene como atributo


multivaluado el nombre_de_la_carga.

• Para Cada valor del atributo nombre_de_la_carga


se crea una fila en la tabla carga_afiliado, la que
además tiene el atributo rut_afiliado (clave de la
tabla afiliado)

Mg. Fidel Ponce P. 22


Atributos Multivaluados
Ej. Tabla
Carga_empleado

Rut_afiliado Nombre_carga
9.784.231 Rodrigo
9.784.231 Claudia
7.235.897 Dorothy

Mg. Fidel Ponce P. 23


Relaciones 1 a Muchos

Las relaciones uno a muchos se representan


sumando un atributo extra a la tabla del lado
muchos, este nuevo atributo debe ser la clave
primaria de la entidad del lado uno

Mg. Fidel Ponce P. 24


Relaciones 1 a Muchos

Numero anexo Rut


Nombre
1 N
oficina Profesor

Queda en las siguientes tablas


Oficina(Numero, anexo)
Profesor(Rut, nombre, apellido1, apellido2, numero_oficina)

Mg. Fidel Ponce P. 25


Relaciones N a M
 Las relaciones muchos a muchos se deben llevar a
una tabla nueva

 Los atributos de esta nueva tabla son las claves


primarias de las entidades que participan de la
relación junto con los atributos propios de la relación
si los tuviera

 La clave de esta nueva tabla está formada por las


claves traídas de las entidades participantes

Mg. Fidel Ponce P. 26


Relaciones N a M
rut edad código
fecha_diagn nombre
N M
paciente Atención enfermedad

Queda en las siguientes tablas


paciente(rut, edad)
enfermedad(código, nombre)
Enfermedad_paciente(rut, código, fecha_diagn)

Mg. Fidel Ponce P. 27


Relaciones 1 a 1

 Se pueden tratar como relaciones 1 a muchos

 O como relaciones M a N

 O se pueden unir los atributos de ambas tablas en


una única tabla

Mg. Fidel Ponce P. 28


Ejemplo
Diagrama E - R

Descripción
Nombre Puesto
Código Costo
Rut Salario

Empleado Venta Artículo

Mg. Fidel Ponce P. 29


Ejemplo
Tablas Resultantes
Tabla Empleado

Rut Nombre Puesto Salario


12.125.124-8 Juan Vendedor 120.000

20.123.125-4 Cesar Auxiliar 75.000

Mg. Fidel Ponce P. 30


Ejemplo
Tablas Resultantes

Tabla Artículo

Código Descripción Costo


E00121 Etiqueta adhesivas 1.250

F12100 Fijador líquido 800

Mg. Fidel Ponce P. 31


Ejemplo
Tablas Resultantes

Tabla Venta

Rut Código Fecha


12.125.124-8 E00121 10/04/2005

20.123.125-4 F12100 11/04/2005

Mg. Fidel Ponce P. 32


Definición de datos (ejemplo)

• Gestión del ingreso de pacientes en un hospital.


– Nombre del paciente
– Apellidos del paciente
– Dirección del paciente
– Número de teléfono
– Fecha de ingreso
– Destino del paciente
– Observaciones
Refinamiento de los datos

• Refinar la lista inicial de campos de modo que los


campos constituyan una descripción precisa de los tipos
de datos necesarios

• Importante incluir las sugerencias de los futuros usuarios


de la BD
Refinamiento de los datos (ejemplo 1)
• Nombre del paciente • Nombre del hospital
• Apellidos del paciente • Médico responsable
• Domicilio • Número de piso
• Población • Número de cama
• Provincia • Número de historial
• Código postal clínico
• Número de teléfono • Observaciones
• Procedencia
• Fecha de ingreso
Refinamiento de los datos (ejemplo 2)
• Nombre del paciente • Médico responsable
• Apellidos del paciente • Nombre del médico
• Domicilio • Apellidos del médico
• Población • Especialidad
• Provincia • Número de colegiado
• Código postal • Cargo
• Número de teléfono • Número de piso
• Fecha de ingreso • Número de cama
• Nombre del hospital • Número de historial
clínico
• Observaciones
Consideración de las relaciones

• Inspeccionar los Campos de la Tabla para localizar


redundancias en los datos a introducir

• Esta estrategia nos permitirá determinar si es


conveniente o no utilizar varias Tablas y, en su caso, la
forma de establecer las relaciones futuras entre los
campo
Relaciones (ejemplo 1)

• Cada vez que se de alta a un paciente hay que


completar los datos del médico, pudiendo ser el mismo
médico para diversos paciente

• Por ello conviene separar los datos en dos Tablas:


– Pacientes
– Médicos
Relaciones (ejemplo 2)
• Tabla Pacientes • Tabla médicos
– Número SS paciente – Código del médico responsable
– Nombre del paciente – Nombre
– Apellidos del paciente – Apellidos
– Domicilio – Especialidad
– Población – Número de colegiado
– Provincia – Cargo
– Código postal – Observaciones
– Número de Teléfono
– Fecha de ingreso
– Código del médico responsable
– Número de piso
– Número de cama
– Número de historial clínico
– Observaciones
Relaciones (ejemplo 3)

• Se ha añadido un código de identificación del médico


responsable, presente en ambas Tablas

• Se ha añadido el Número de la SS para identificar de


forma única a cada paciente

• Observando la Tabla pacientes se ve que esta se


puede descomponer en:
– Tabla Pacientes (datos de identificación)
– Tabla Ingresos
Relaciones (ejemplo 4)
• Tabla pacientes • Tabla ingresos
– Número del SS – Número de historial
– Nombre del paciente clínico
– Domicilio – Procedencia
– Población – Fecha de ingreso
– Provincia – Código de identificación
– Código postal del médico responsable
– Número de teléfono – Número de piso
– Número de historial – Número de cama
clínico – Observaciones
– Observaciones
Relaciones (ejemplo 5)

• Tabla médicos
– Código de identificación
del médico
– Nombre
– Apellidos
– Especialidad
– Número de colegiado
– Cargo
– Observaciones
Ejercicio: BD de Ventas
• Le contratan para hacer una BD que permita apoyar la gestión de
un sistema de ventas. La empresa necesita llevar un control de
proveedores, clientes, productos y ventas.
• Un proveedor tiene un RUT, nombre, dirección, teléfono y página
web. Un cliente también tiene RUT, nombre, dirección, pero puede
tener varios teléfonos de contacto. La dirección se entiende por
calle, número, comuna y ciudad.
• Un producto tiene un id único, nombre, precio actual, stock y
nombre del proveedor. Además se organizan en categorías, y cada
producto va sólo en una categoría. Una categoría tiene id, nombre y
descripción.
• Por razones de contabilidad, se debe registrar la información de
cada venta con un id, fecha, cliente, descuento y monto final.
Además se debe guardar el precio al momento de la venta, la
cantidad vendida y el monto total por el producto.
BD Club Náutico
Se quiere diseñar una base de datos relacional para
gestionar los datos de los socios de un club náutico. De
cada socio se guardan los datos personales y los datos
del barco o barcos que posee: número de matrícula,
nombre, número del amarre y cuota que paga por el
mismo. Además, se quiere mantener información sobre las
salidas realizadas por cada barco, como la fecha y hora de
salida, el destino y los datos personales del patrón, que no
tiene porque ser el propietario del barco, ni es necesario
que sea socio del club.
BD Club Náutico

Socio posee Barco

dirige Salida realiza

Patrón
DB Proyectos
Una empresa desea diseñar una base de datos para almacenar en ella
toda la información generada en cada uno de los proyectos. De cada
uno de los proyectos realizados interesa almacenar el Código,
descripción, costo del proyecto, fecha de inicio y fecha de fin. Los
proyectos son realizados por clientes de los que se desea guardar el
Rut, teléfono, domicilio y razón social. Un cliente puede realizar varios
proyectos, pero un solo proyecto es realizado por un único cliente. En
los proyectos participan colaboradores de los que se dispone la
siguiente información: Rut, nombre, domicilio, teléfono, banco y
número de cuenta. Un colaborador puede participar en varios
proyectos. Los proyectos son realizados por uno o más colaboradores.
Un colaborador de proyecto puede recibir varios pagos. De los pagos
realizados se requiere guardar el número de pago, concepto, cantidad
y fecha de pago. También interesa almacenar los diferentes tipos de
pago que puede realizar la empresa. De cada uno de los tipos de
pagos se desea guardar el código y descripción. Un tipo de pago pude
pertenecer a varios pagos.
DB Proyectos
Cliente Tipo Pago

pertenece

realiza Pago

recibe

Proyecto participa Colaborador

Das könnte Ihnen auch gefallen