Introducción Bases de Datos.pdf
-
Upload
julio-cesar -
Category
Documents
-
view
225 -
download
0
Transcript of Introducción Bases de Datos.pdf
-
8/17/2019 Introducción Bases de Datos.pdf
1/43
Parte 1 – Introducción
-
8/17/2019 Introducción Bases de Datos.pdf
2/43
Porque usar bases de datos?
-
8/17/2019 Introducción Bases de Datos.pdf
3/43
Porque usar bases de datos?
Para ayudar a las personas a llevar un registro deinformación relevante en diferentes actividades de
interés diarias◦ Comercial (clientes, productos, inventarios, puntos deventa, contabilidad)
◦ Finanzas (clientes, depósitos, retiros, estado de cuenta)◦ Servicios médicos (pacientes, historial)◦ Educación (matrícula, kardex)
-
8/17/2019 Introducción Bases de Datos.pdf
4/43
Un sistema de gestión de bases de datos (SGBD)se define como una colección de datosinterrelacionados y un conjunto de programaspara acceder a dichos datos
La colección de datos, normalmente denominadabase de datos, puede contener informaciónacerca de un producto o servicio en particular
El primer objetivo de un SGBD es proporcionar un
entorno que sea tanto práctico como eficiente deusar en la recuperación y el almacenamiento de lainformación de la base de datos
-
8/17/2019 Introducción Bases de Datos.pdf
5/43
Para poder entender la importancia de las bases dedatos en la actualidad es necesario mencionaralgunas características de los sistemas previos a laaparición de las bases de datos
Los primeros sistemas de información almacenabangrupos de registros en archivos separados
Dichos sistemas eran conocidos como sistemas deprocesamiento de archivos los cuales representaron
el primer intento para automatizar procesos que sevenían haciendo de forma manual
-
8/17/2019 Introducción Bases de Datos.pdf
6/43
La figura muestra dos sistemas de procesamientode archivos
Programa paraprocesar ingresos
Programa paraprocesar egresos
Archivo deingresos
Archivo de
egresos
-
8/17/2019 Introducción Bases de Datos.pdf
7/43
Algunos de los problemas o inconvenientes quepresentaba este tipo de sistemas se encuentra◦ Redundancia e inconsistencia de datos◦ Los datos están separados y aislados◦ Dificultad en el acceso de datos◦ Anomalías en el acceso concurrente◦ Problemas de seguridad
Estas y otras desventajas dieron comienzo aldesarrollo de SGDBs
-
8/17/2019 Introducción Bases de Datos.pdf
8/43
Poca eficiencia en el manejo de listas (Ejemplo:Excel)◦ Actualizar el teléfono de un cliente con varios registros◦ En caso de borrar un registro, se pierden otros datos
Los programas de aplicación dependen de losformatos de los archivos
Manejo de versiones al compartir la lista
-
8/17/2019 Introducción Bases de Datos.pdf
9/43
El objetivo de un sistema de base de datos essimplificar y facilitar el acceso a una gran cantidadde datos
La gestión de los datos implica tanto la definiciónde estructuras para almacenar la informacióncomo la provisión de mecanismos para lamanipulación de la información
Un sistema de base de datos proporciona a losusuarios una visión abstracta de los datos
-
8/17/2019 Introducción Bases de Datos.pdf
10/43
La figura muestra un sistema de información conbase de datos (SGBD)
Programas de Aplicación
Programas de
Aplicación
DBMS Base dedatos
ASPJSPC++PHPPL/SQLVisual Basic
-
8/17/2019 Introducción Bases de Datos.pdf
11/43
Los componentes principales de un sistema deinformación con base de datos
1. Usuarios2. Aplicaciones3. Sistema de administración de base de datos
(DBMS)4. Base de datos
a. Datos de usuario
b. Índicesc. Metadatosd. Stored Procedures, Triggers, etc.
-
8/17/2019 Introducción Bases de Datos.pdf
12/43
Administrador de la base de datos◦ Responsable de mantener el control tanto de los datos
como de los programas que acceden a esos datos◦ Crea el esquema original de la base de datos◦ Define estructuras de almacenamiento
Programadores de aplicaciones Usuarios especializados
Usuarios normales
-
8/17/2019 Introducción Bases de Datos.pdf
13/43
Bases de datos relacionales◦ IBM DB2◦ Oracle Oracle◦ Microsoft SQLServer◦ Código abierto MySQL
Sistemas distribuidos emergentes con capacidadde almacenamiento◦ Amazon◦ Google
-
8/17/2019 Introducción Bases de Datos.pdf
14/43
El término base de datos por si solo tiene variasinterpretaciones y elementos
Una base de datos es un modelo del modeloreferente a las actividades de un negociorealizadas por un grupo de usuarios
Una base de datos es autodescriptiva, es decir,además de los datos fuente del usuario también
contiene una descripción de su propia estructura
-
8/17/2019 Introducción Bases de Datos.pdf
15/43
Dicha descripción se le conoce como diccionariode datos (directorio de datos o metadatos)
Debido a que la mayoría de los sistemas de basede datos están diseñados para almacenar ymanejar tablas, los metadatos son a su vezalmacenados en forma de tablas
Dichas tablas se le conoce como tablas del
sistema
-
8/17/2019 Introducción Bases de Datos.pdf
16/43
Al ser autodescriptiva, una base de datos haceposible que exista la llamada independencia dedatos y programas
Una base de datos también incluye índices loscuales se utilizan principalmente para
1. Representar las relaciones entre los datos2. Mejorar el desarrollo de las aplicaciones de la
base de datos
-
8/17/2019 Introducción Bases de Datos.pdf
17/43
Existen varios niveles de abstracción pararecuperar y representar datos de una maneraeficiente
Nivel físico Nivel mas bajo de abstracción que describecomo se almacenan realmente los datos
Nivel lógico Siguiente nivel de abstracción que describequé datos se almacenan en la base de datosy que relaciones existen entre esos datos
Nivel de vistas Nivel mas alto de abstracción que solo
describe una parte de la base de datos. Sedefinen varias vistas de una base de datos.
-
8/17/2019 Introducción Bases de Datos.pdf
18/43
Las bases de datos van cambiando a lo largo deltiempo conforme la información se inserta y borra
La colección de información almacenada en labase de datos en un momento particular se llamauna instancia de la base de datos
El diseño completo de la base de datos se leconoce como el esquema de la base de datos
-
8/17/2019 Introducción Bases de Datos.pdf
19/43
La modelación de datos es la parte fundamentalde cualquier estructura de base de datos
La modelación de datos se define como unacolección de herramientas conceptuales paradescribir◦ Los datos◦ Las relaciones entre los datos◦ La semántica de los datos◦ Las ligaduras de consistencia (constraints)
-
8/17/2019 Introducción Bases de Datos.pdf
20/43
Los datos se modelan de acuerdo su tipo y uso endiferentes aplicaciones
Operacionales/transaccionales◦ Datos que son parte de transacciones para consultar o
actualizar cierta información en la base de datos
Business Intelligence◦ Datos que son utilizados para realizar estudios o análisis
dentro de cierto contexto o aplicación de los mismos
Metadatos◦ Datos que son empleados para representar y administrar
datos
-
8/17/2019 Introducción Bases de Datos.pdf
21/43
Algunos de los beneficios que se obtienen de unaeficiente modelación de datos se encuentra
1. Mayor consistencia en los datos2.
Establece una estructura básica (esquema de labase de datos) sobre la cual se puedendesarrollar nuevas estructuras, elementos yprogramas de apoyo de forma más ágil
3. Beneficia al desempeño de la base de datos encondiciones normales de operación
-
8/17/2019 Introducción Bases de Datos.pdf
22/43
Los diferentes modelos de datos que se hanpropuesto se clasifican en tres grupos diferentes:
1. Modelos lógicos basados en objetos2.
Modelos lógicos basados en registros3. Modelos físicos
-
8/17/2019 Introducción Bases de Datos.pdf
23/43
Los modelos lógicos basados en objetos se usanpara describir datos en los niveles lógico y devistas
Algunos ejemplos de este tipo de modelos son◦ Modelo entidad-relación
◦ Modelo orientado a objetos◦ Modelo de datos semántico◦ Modelo de datos funcional
-
8/17/2019 Introducción Bases de Datos.pdf
24/43
Esta basado en una percepción del mundo realque consta de una colección de objetos básicosllamados entidades y de relaciones entre estosobjetos
Una entidad es un objeto en el mundo real que esdistinguible de otros objetos
Las entidades se describen en una base de datos
mediante un conjunto de atributos
-
8/17/2019 Introducción Bases de Datos.pdf
25/43
Una relación es una asociación entre variasentidades
El conjunto de todas las entidades del mismo tipoy el conjunto de todas las relaciones del mismotipo se denominan conjunto de entidades yconjunto de relaciones, respectivamente
La correspondencia de cardinalidades expresa el
número de entidades con las que otra entidad sepuede asociar a través de un conjunto derelaciones
-
8/17/2019 Introducción Bases de Datos.pdf
26/43
La totalidad de estructuras lógicas de una base dedatos se puede representar por medio de undiagrama E-R que consta de los siguientescomponentes:◦ Rectángulos representan entidades◦ Elipses representan atributos◦ Rombos representan relaciones entre conjuntos de
entidades◦ Líneas que unen los atributos con entidades y entidades
con relaciones
-
8/17/2019 Introducción Bases de Datos.pdf
27/43
Al igual que el modelo E-R, el modelo orientado aobjetos esta basado en una colección de objetos
Un objeto contiene variables de instancia ymétodos
Los objetos que contienen los mismos tipos devariables y los mismos métodos se agrupan juntosen clases
Una clase se puede ver como una definición detipo para los objetos
-
8/17/2019 Introducción Bases de Datos.pdf
28/43
La base de datos se estructura en registros deformato fijo de diferentes tipos
En cada tipo de registro se define un número fijode campos o atributos, y cada campo tienenormalmente una longitud fija
Los 3 modelos basados en registros mayormenteutilizados son◦
Modelo relacional◦ Modelo de red◦ Modelo jerárquico
-
8/17/2019 Introducción Bases de Datos.pdf
29/43
Emplea una colección de tablas para representartanto los datos como las relaciones entre esosdatos
Cada tabla tiene varias columnas y cada columna
tiene un nombre úniconumero_cuenta nombre domicilio telefono
101102103104105
GonzálezGarzaCantúRodríguezPérez
Avenida 1 Avenida 2 Avenida 3 Avenida 4 Avenida 5
8300000183000002830000038300000483000005
numero_cuenta saldo
101102103
104105
110.0120.0130.0
140.0150.0
Tabla clientes
Tabla saldos
-
8/17/2019 Introducción Bases de Datos.pdf
30/43
Un sistema de bases de datos utiliza 2 tipos delenguajes para realizar las siguientes funciones:
Lenguaje de definición de datos (Data DefinitionLanguage DDL) para especificar el esquema de labase de datos
Lenguaje de manipulación de datos (DataManipulation Language DML) para expresar las
consultas y actualizaciones de la base de datos
-
8/17/2019 Introducción Bases de Datos.pdf
31/43
Un esquema de base de datos se especificamediante un conjunto de definiciones expresadasen el lenguaje de definición de datos (LDD)
El resultado de la compilación de las instruccionesdel LDD es un conjunto de tablas que sealmacenan en un archivo especial llamadodiccionario de datos o directorio de datos
-
8/17/2019 Introducción Bases de Datos.pdf
32/43
Un diccionario de datos es un archivo quecontiene metadatos (datos acerca de los datos)los cuales incluyen:◦ El esquema de la base de datos◦ Ligaduras de consistencia (integrity constraints), por
ejemplo, el campo numero_cuenta identifica de maneraúnica cada cliente (Primary Key)
create table clientes (numero_cuenta char(5),
nombre varchar(50),domicilio varchar(50),
telefono varchar(10))
-
8/17/2019 Introducción Bases de Datos.pdf
33/43
Es un lenguaje que permite a los usuariosacceder o manipular los datos organizadosmediante el modelo de datos implementado
La manipulación de datos comprende lassiguientes funciones en la base de datos:◦ La recuperación de información almacenada◦ La inserción de información nueva◦ El borrado de información◦ La modificación de información almacenada
-
8/17/2019 Introducción Bases de Datos.pdf
34/43
Existen 2 tipos de lenguajes de manipulación dedatos (LMD)
LMD procedimentales los cuales requieren que elusuario especifique que datos se necesitan ycomo obtenerlos
LMD no procedimentales los cuales requieren queel usuario especifique que datos se necesitan sin
especificar como obtenerlos
-
8/17/2019 Introducción Bases de Datos.pdf
35/43
Los LMD no procedimentales son mas fáciles deaprender y usar
Una consulta es una instrucción de solicitud pararecuperar información
La parte de un LMD que implica recuperación deinformación se llama lenguaje de consultas
En ocasiones es común usar como sinónimos
LMD y lenguaje de consultas SQL es el lenguaje (no procedimental) de
consultas mas utilizado
-
8/17/2019 Introducción Bases de Datos.pdf
36/43
Una transacción es una colección de operacionesque se lleva a cabo como una función lógicasimple en una aplicación de bases de datos
Cada transacción es una unidad de atomicidad yconsistencia
Por ejemplo, suponer que una transacción implicatransferir fondos de una cuenta A a una cuenta B
Por atomicidad se entiende que la transaccióndebe ocurrir por completo o no ocurrir en absolutomanteniendo así su consistencia de valores
-
8/17/2019 Introducción Bases de Datos.pdf
37/43
Es responsabilidad del programador definir lasdiferentes transacciones apropiadamente, de tal formaque cada una preserve la consistencia de la base dedatos
Es decir, si la base de datos era consistente cuando
una transacción comenzó, entonces la base de datosdebe ser consistente cuando la transacción terminecon éxito
Cuando varias transacciones actualizan la base dedatos concurrentemente, es responsabilidad del
gestor de control de concurrencia controlar lainteracción entre las transacciones concurrentes paraasegurar la consistencia
-
8/17/2019 Introducción Bases de Datos.pdf
38/43
Un gestor de almacenamiento se define como unprograma que proporciona la interfaz entre losdatos de bajo nivel en la base de datos y losprogramas de aplicación y consultas
La gestión de almacenamiento transforma lasdiferentes instrucciones LMD a órdenes de unsistema de archivos de bajo nivel
Así, el gestor de almacenamiento es responsabledel almacenamiento, recuperación y actualizaciónde los datos en la base de datos
-
8/17/2019 Introducción Bases de Datos.pdf
39/43
Algunos ejemplos de software utilizado en lamodelación de datos son
1. MySQL Workbench2. ERWIN3. Visio4. Designer/20005. Rational Rose
-
8/17/2019 Introducción Bases de Datos.pdf
40/43
-
8/17/2019 Introducción Bases de Datos.pdf
41/43
Entre otras cosas, MySQL Workbench es unaherramienta de apoyo que permite
1. Diseñar un modelo de datos para una aplicaciónnueva o bien poder visualizar el modelo quecorresponde a una base de datos ya existente
2. Monitorear el desempeño de la implementacióndel modelo
3. Llevar un control de versiones
-
8/17/2019 Introducción Bases de Datos.pdf
42/43
El diseño de una aplicación con base de datosimplica definir varios aspectos o detalles
Diseño lógico es aquel en donde se define elesquema de la base de datos
Lo anterior requiere, entre otras cosas, que seobtenga una representación adecuada de lainformación por medio de una colección de
entidades y relaciones dentro de cierto dominio deaplicación
-
8/17/2019 Introducción Bases de Datos.pdf
43/43
Fase Base de datos Aplicación
Requerimientos 1. Crear el modelo2. Especificar elementos
y sus tipos de datos3. Definir reglas y
validaciones
Determinarrequerimientos
Diseño 1. Tablas2. Claves primarias y
foráneas3. Índices4. Constraints, stored
procedures, triggers
Formas, reportes,diseñar aplicación
Implementación 1. Crear tablas yrelacionarlas2. Validar relaciones
usando constraints3. Escribir stored
procedures4. Capturar información
1. Crear formas2. Crear reportes3. Crear consultas4. Escribir código de la
aplicación5. Probar