2. AGENDA
• Definición.
• Componentes de una Base de Datos.
• Tipos de Base de Datos.
• DBMS (Data Base Management System).
• MAMP (Instalación y Configuración).
• Modelo Entidad – Relación.
• Creación de una Base de Datos.
• Tipos de Usuarios.
• WorkBenchs
• Ejercicios.
3. “BASE DE DATOS”
• Es un sistema que almacena datos que están relacionados.
• Es un conjunto de datos pertenecientes a un mismo contexto y almacenados
sistemáticamente para su posterior uso.
• Se podría definir una base de datos como un conjunto de archivos,
destinados a almacenar información, y las reglas que hacen que dicha
información sea consistente.
• Como definición de base de datos entendemos que se trata de un conjunto
de datos interrelacionados y almacenados sin redundancias innecesarias, los
cuales sirven a las aplicaciones sin estar relacionados de una manera directa
entre ellos.
4. COMPONENTES DE UNA BASE DE DATOS
• Hardware: constituido
por dispositivo de almacenamiento como discos, tambores,
cintas, etc.
• Software: que es el DBMS o
Sistema Administrador de Base de Datos.
• Datos: los cuales están almacenados de acuerdo a
la estructura externa y van a ser procesados para
convertirse en información.
5. TIPOS DE BASE DE DATOS
1. JERARQUICAS 2. MULTIDIMENSIONALES
4. ORIENTADAS A OBJETOS
6. DOCUMENTALES
3. EN RED
5. TRANSACCIONALES
7. DEDUCTIVAS
8. RELACIONALES
6. Su idea fundamental es el uso
BASE DE DATOS RELACIONADAS de "relaciones".
Permiten establecer interconexiones (relaciones) entre los datos (que están
guardados en tablas), y a través de dichas conexiones relacionar los datos
de ambas tablas, de ahí proviene su nombre:"Modelo Relacional".
La información puede ser recuperada o almacenada mediante "consultas" que
ofrecen una amplia flexibilidad y poder para administrar la información.
El lenguaje más habitual para construir las
consultas a bases de datos relacionales es SQL
7. DBMS (DATABASE MANAGEMENT SYSTEM,
SISTEMA DE GESTION DE BASE DE DATOS)
Son un tipo de software muy específico, dedicado a servir de interfaz entre
las bases de datos y las aplicaciones que la utilizan.
Se compone de un lenguaje de definición de datos, de un lenguaje de
manipulación de datos y de un lenguaje de consulta.
8. PRINCIPALES DBMS
MICROSOFT SQL SERVER
es un sistema para la gestión de bases de datos producido por Microsoft basado en el
modelo relacional. Sus lenguajes para consultas son T-SQL y ANSI SQL.
ORACLE
es un sistema de gestión de base de datos objeto-relacional (o ORDBMS por el acrónimo
en inglés de Object-Relational Data Base Management System), desarrollado por Oracle
Corporation.
Se considera a Oracle como uno de los sistemas de bases de datos más completos,
MYSQL
es un sistema de gestión de bases de datos relacional, multihilo y multiusuario con
más de seis millones de instalaciones.1 MySQL AB —desde enero de 2008 una
subsidiaria de Sun Microsystems y ésta a su vez de Oracle Corporation desde abril de
2009— desarrolla MySQL comosoftware libre en un esquema de licenciamiento dual.
10. MODELO ENTIDAD - RELACIÓN
Un diagrama o modelo entidad-relación (a veces denominado por sus
siglas, E-R "Entity relationship", o, "DER" Diagrama de Entidad Relación) es
una herramienta para el modelado de datos de un sistema de información.
Estos modelos expresan entidades relevantes para un sistema de
información así como sus interrelaciones y propiedades.
11. RELACIONES
Las relaciones que almacenan datos
son llamadas "relaciones base" y su
implementación es llamada "tabla".
Otras relaciones no almacenan datos,
pero son calculadas al aplicar
operaciones relacionales. Estas
relaciones son llamadas "relaciones
derivadas" y su implementación es
llamada "vista" o "consulta".
12. CAMPO
Unidad básica de una base de datos. Un campo puede ser, por ejemplo,
el nombre de una persona.
Tamaño de Tipo de
Tipo de Campo Tamaño de Almacenamiento
Almacenamiento campo
CHAR(n) n bytes
TINYINT 1 byte
SMALLINT 2 bytes VARCHAR(n) n +1 bytes
MEDIUMINT 3 bytes TINYBLOB,
Longitud+1 bytes
TINYTEXT
INT 4 bytes
INTEGER 4 bytes BLOB, TEXT Longitud +2 bytes
BIGINT 8 bytes
FLOAT(X) 4 ú 8 bytes MEDIUMBLOB,
Longitud +3 bytes
MEDIUMTEXT
FLOAT 4 bytes
DOUBLE 8 bytes
LONGBLOB,
Longitud +4 bytes
DOUBLE PRECISION 8 bytes LONGTEXT
REAL 8 bytes
ENUM('value1',' 1 ó dos bytes dependiendo del
M+2 bytes sí D > 0, value2',...) número de valores
DECIMAL(M,D
M+1 bytes sí D = 0
M+2 bytes if D > 0, 1, 2, 3, 4 ó 8 bytes,
NUMERIC(M,D) SET('value1','va
dependiendo del número de
M+1 bytes if D = 0 lue2',...)
valores
13. TABLA
Una tabla en una especie de "archivo" en el cuál definimos una
estructura de filas y columnas con la información que deseamos
almacenar.
Seria un código para idetificar al
Codigo
cliente.
Nombre El nombre de nuestro cliente.
Apellidos Apellidos del cliente.
NIF NIF del cliente.
Direccion La dirección del cliente.
Telefono El teléfono del cliente.
14. REGISTRO
Un registro es un conjunto de campos que contienen los datos que
pertenecen a una misma repetición de entidad.
Codigo Nombre Apellidos NIF Direccion Telefono
1Lucas Perez Lopez 000000001Av/ calle 5 910002525
2Luis Martin Perez 000000002 C/ Lope 15 910002524
15. CLAVE UNICA
Cada tabla puede tener uno o más campos cuyos valores identifican de
forma única cada registro de dicha tabla, es decir, no pueden existir dos o
más registros diferentes cuyos valores en dichos campos sean idénticos.
Pueden existir varias claves únicas en una determinada tabla, y a cada
una de éstas suele llamársele candidata a clave primaria.
16. CLAVE PRIMARIA
Una clave primaria es una clave única elegida entre todas las candidatas
que define unívocamente a todos los demás atributos de la tabla, para
especificar los datos que serán relacionados con las demás tablas.
Sólo puede existir una clave primaria por tabla y ningún campo de dicha clave
puede contener valores NULL.
17. CLAVE FORANEA
Una clave foránea es una referencia a una clave en otra tabla.
Por ejemplo, el código de departamento puede ser una clave foránea en la
tabla de empleados, obviamente se permite que haya varios empleados en
un mismo departamento, pero existirá sólo un departamento.
18. CLAVE INDICE
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.
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.
19. PARTES DEL MODELO
ENTIDAD Representa una “cosa” u "objeto" del
mundo real con existencia
independiente, es decir, se diferencia
unívocamente de cualquier otro
objeto o cosa, incluso siendo del
mismo tipo, o una misma entidad.
ATRIBUTO Los atributos son las características
que definen o identifican a una
entidad.
RELACION Describe cierta dependencia entre
entidades o permite la asociación de
las mismas.
22. TIPOS DE USUARIOS DE UNA
BASE DE DATOS
* Programadores de aplicaciones. Los profesionales en computación que
interactuan con el sistema por medio de llamadas en DML (Lenguaje de
Manipulación de Datos), las cuales están incorporadas en un programa escrito en
un lenguaje de programación (Por ejemplo, COBOL, PL/I, Pascal, C, etc.)
* Usuarios sofisticados. Los usuarios sofisticados interactuan con el sistema sin
escribir programas. En cambio escriben sus preguntas en un lenguaje de consultas
de base de datos.
* Usuarios especializados. Algunos usuarios sofisticados escriben aplicaciones de
base de datos especializadas que no encajan en el marco tradicional de
procesamiento de datos.
* Usuarios ingenuos. Los usuarios no sofisticados interactuan con el sistema
invocando a uno de los programas de aplicación permanentes que se han escrito
anteriormente en el sistema de base de datos, podemos mencionar al usuario
ingenuo como el usuario final que utiliza el sistema de base de datos sin saber
nada del diseño interno del mismo por ejemplo: un cajero.
23. ORGANIZACION DE UNA BASE DE DATOS
(CONSIDERACIONES)
•Tiene que ser versátil
•Tiene que atender con la rapidez adecuada a cada aplicación o empresa,
atendiendo a lo que se la requiera.
•Tiene que tener un índice de redundancia lo más bajo posible.
•Tener una alta capacidad de acceso para ganar el mayor tiempo posible en la
realización de consultas.
•Tener un alto índice de integridad
•Por supuesto tienen que tener un nivel altísimo de seguridad y privacidad
•Por ultimo tiene que ser posible su constante actualización para no dejar a la base
de datos anticuada e inservible.
24. SEGUNDO EJERCICIO
Una base de datos para una pequeña empresa debe contener información acerca de
clientes, artículos y pedidos. Hasta el momento se registran los siguientes datos en
documentos varios:
• Para cada cliente: Número de cliente (único), Direcciones de envío (varias por cliente),
Saldo, Límite de crédito (depende del cliente, pero en ningún caso debe superar los
3.000.000 pts), Descuento.
• Para cada artículo: Número de artículo (único), Fábricas que lo distribuyen, Existencias
de ese artículo en cada fábrica, Descripción del artículo.
• Para cada pedido: Cada pedido tiene una cabecera y el cuerpo del pedido. La cabecera
está formada por el número de cliente, dirección de envío y fecha del pedido. El cuerpo del
pedido son varias líneas, en cada línea se especifican el número del artículo pedido y la
cantidad.
Además, se ha determinado que se debe almacenar la información de las fábricas. Sin
embargo, dado el uso de distribuidores, se usará: Número de la fábrica (único) y Teléfono
de contacto. Y se desean ver cuántos artículos (en total) provee la fábrica. También, por
información estratégica, se podría incluir información de fábricas alternativas respecto de
las que ya fabrican artículos para esta empresa.
Nota: Una dirección se entenderá como Nº, Calle, Comuna y Ciudad. Una fecha incluye
hora.
Se pide hacer el diagrama ER para la base de datos que represente esta información.
25. TERCER EJERCICIO
Se desea diseñar una base de datos que contenga información de las reservas
de una empresa de alquiler de automóviles. Disponemos de los siguientes
datos:
ƒ * Un determinado cliente puede tener en un momento dado varias reservas.
ƒ * Una reserva la realiza un único cliente, pero puede involucrar varios
coches.
ƒ * Es necesario almacenar las fechas de comienzo y de terminación de la
reserva, y el precio de alquiler de cada uno de los coches.
*ƒ Todo coche tiene siempre asignado un determinado garaje que no puede
cambiar.
ƒ * Cada reserva se realiza en una determinada agencia.
ƒ * Pueden existir clientes que no hayan hecho ninguna reserva.
ƒ * Todas las entidades tienen una clave que las identifica unívocamente.
27. CUARTO EJERCICIO
Una cadena de agencias de viaje desea disponer de un sistema de
información que gestione su funcionamiento referente a reservas de hotel y
vuelos para sus clientes. Los datos a tener en cuenta son:
La cadena de agencias tiene una serie de hoteles de forma exclusiva. Cada
hotel estará definido por un código de hotel, nombre, dirección ciudad,
Teléfono y número de plazas disponibles. De igual forma, la cadena tiene
contratados una serie de vuelos regulares de forma, también, exclusiva. Cada
vuelo viene definido por el número de vuelo (único), Fecha, hora, origen y
destino, plazas totales y plazas de clase turista. De los clientes de la cadena, se
desea almacenar un código de cliente, nombre, apellidos, dirección y teléfono.
Cada una de las agencias de la cadena estará almacenada en el sistema, en
particular, se mantendrán los siguientes datos: código de agencia, dirección y
teléfono. Por otra parte, hay que tener en cuenta las siguientes circunstancias:
Es de interés conocer qué agencias han atendido a qué clientes,
Independientemente del servicio prestado en cada caso. A la hora de contratar
un viaje, el cliente puede elegir cualquiera de los vuelos que ofrece la cadena y
en qué clase (turista o primera) desea viajar. De igual manera, el cliente puede
elegir cualquiera de los hoteles de la cadena y el régimen de hospedaje (sólo
habitación, con desayuno, media pensión, etc.), siendo importante gestionar
las fechas de llegada y partida.