Introducción a la base de datos

27
Introducción a la Base de Datos AUTOR: ALEXYS GONZÁLEZ

description

Presentacion de Introduccion a la base de datos

Transcript of Introducción a la base de datos

Page 1: Introducción a la base de datos

Introducción a la Base de Datos

AUTOR: ALEXYS GONZÁLEZ

Page 2: Introducción a la base de datos

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.

Page 3: Introducción a la base de datos

“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. 

Page 4: Introducción a la base de datos

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. 

Page 5: Introducción a la base de datos

TIPOS DE BASE DE DATOS

1. JERARQUICAS

3. EN RED

5. TRANSACCIONALES

8. RELACIONALES

2. MULTIDIMENSIONALES4. ORIENTADAS A OBJETOS6. DOCUMENTALES

7. DEDUCTIVAS

Page 6: Introducción a la base de datos

BASE DE DATOS RELACIONADAS Su idea fundamental es el uso de "relaciones".

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

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".

Page 7: Introducción a la base de datos

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.

Page 8: Introducción a la base de datos

PRINCIPALES DBMS

MICROSOFT SQL SERVERes 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.

ORACLEes 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,

MYSQLes 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.

Page 9: Introducción a la base de datos

INSTALACION DE MAMP

PONER IMAGEN DE MAMP

Page 10: Introducción a la base de datos

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.

Page 11: Introducción a la base de datos

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".

Page 12: Introducción a la base de datos

CAMPO

Unidad básica de una base de datos. Un campo puede ser, por ejemplo, el nombre de una persona.

Tipo de CampoTamaño de

Almacenamiento

TINYINT 1 byte

SMALLINT 2 bytes

MEDIUMINT 3 bytes

INT 4 bytes

INTEGER 4 bytes

BIGINT 8 bytes

FLOAT(X) 4 ú 8 bytes

FLOAT 4 bytes

DOUBLE 8 bytes

DOUBLE PRECISION 8 bytes

REAL 8 bytes

DECIMAL(M,DM+2 bytes sí D > 0, M+1 bytes sí D = 0

NUMERIC(M,D)M+2 bytes if D > 0, M+1 bytes if D = 0

Tipo de campo

Tamaño de Almacenamiento

CHAR(n) n bytes

VARCHAR(n) n +1 bytes

TINYBLOB, TINYTEXT

Longitud+1 bytes

BLOB, TEXT Longitud +2 bytes

MEDIUMBLOB, MEDIUMTEXT

Longitud +3 bytes

LONGBLOB, LONGTEXT

Longitud +4 bytes

ENUM('value1','value2',...)

1 ó dos bytes dependiendo del número de valores

SET('value1','value2',...)

1, 2, 3, 4 ó 8 bytes, dependiendo del número de

valores

Page 13: Introducción a la base de datos

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.

CodigoSeria un código para idetificar al cliente.

Nombre El nombre de nuestro cliente.

Apellidos Apellidos del cliente.

NIF NIF del cliente.

DireccionLa dirección del cliente.

Telefono El teléfono del cliente. 

Page 14: Introducción a la base de datos

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

2LuisMartin Perez

000000002 C/ Lope 15 910002524

Page 15: Introducción a la base de datos

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.

Page 16: Introducción a la base de datos

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.

Page 17: Introducción a la base de datos

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.

Page 18: Introducción a la base de datos

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.

Page 19: Introducción a la base de datos

PARTES DEL MODELO

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.

Los atributos son las características que definen o identifican a una entidad.

Describe cierta dependencia entre entidades o permite la asociación de las mismas.

ENTIDAD

ATRIBUTO

RELACION

Page 20: Introducción a la base de datos

Phpmyadmin (CREACIÓN DE BD)

IMAGEN DE PHPMYADMIN

Page 21: Introducción a la base de datos

EJEMPLO: CREAR ESTE MODELO E-R

Page 22: Introducción a la base de datos

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.

Page 23: Introducción a la base de datos

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.

Page 24: Introducción a la base de datos

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.

Page 25: Introducción a la base de datos

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.

TERCER EJERCICIO

Page 26: Introducción a la base de datos

WORKBENCH MYSQL

Page 27: Introducción a la base de datos

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.

CUARTO EJERCICIO