INTRODUCCIÓN A LAS BASES DE DATOS Técnico en Sistemas

Anuncio
INTRODUCCIÓN A LAS BASES DE DATOS
Técnico en Sistemas
INTRODUCCION
Todas las empresas requieren almacenar información. Desde siempre lo han hecho. La
información puede ser de todo tipo. Cada elemento informativo (nombre, dirección, sueldo, etc.)
es lo que se conoce como dato (en inglés data).
Las soluciones utilizadas por las empresas para almacenar los datos son diversas.
Antes de la aparición de la informática se almacenaban en ficheros con cajones y carpetas y fichas.
Tras la aparición de la informática estos datos se almacenan en archivos digitales dentro de las
unidades de almacenamiento del ordenador (a veces en archivos binarios, o en hojas de cálculo).
Además las empresas requieren utilizar aplicaciones informáticas para realizar tareas propias de la
empresa a fin de mecanizar a las mismas. Estas aplicaciones requieren manejar los datos de la
empresa.
En los inicios de la era informática, cada programa almacenaba y utilizaba sus propios datos de
forma un tanto caótica. La ventaja de este sistema (la única ventaja), es que los procesos eran
independientes por lo que la modificación de uno no afectaba al resto.
Lógicamente la solución a este problema es hacer que todas las aplicaciones utilicen los mismos
datos. Esto provoca que los datos deban estar mucho más protegidos y controlados. Además los
datos forman una estructura física y funcional que es lo que se conoce como base de datos.
De esta forma una base de datos es una serie de datos relacionados que forman una estructura
lógica, es decir una estructura reconocible desde un programa informático.
Esa estructura no sólo contiene los datos en sí, sino la forma en la que se relacionan.
Las bases de datos empiezan a aparecer en los años 60 y triunfan en los años setenta y ochenta.
1
Modulo Bases de Datos
SISTEMAS DE INFORMACION
Un sistema de información (SI) es un conjunto de elementos orientados al tratamiento y
administración de datos e información, organizados y listos para su uso posterior, generados para
cubrir una necesidad u objetivo. Dichos elementos formarán parte de alguna de las siguientes
categorías:




Personas
Datos
Actividades o técnicas de trabajo
Recursos materiales en general (generalmente recursos informáticos y de comunicación,
aunque no necesariamente).
Todos estos elementos interactúan para procesar los datos (incluidos los procesos manuales y
automáticos) y dan lugar a información más elaborada, que se distribuye de la manera más
adecuada posible en una determinada organización, en función de sus objetivos.
¿Qué es un Dato?: Conjunto de caracteres con algún significado, pueden ser numéricos,
alfabéticos, o alfanuméricos.
¿Qué es Información?: Es un conjunto ordenado de datos los cuales son manejados según la
necesidad del usuario, para que un conjunto de datos pueda ser procesado eficientemente y
pueda dar lugar a información, primero se debe guardar lógicamente en archivos.
COMPONENTES DE UN SISTEMA DE INFORMACIÓN
En el caso de una gestión electrónica de la información (lo que actualmente se considera un
sistema de información electrónico), los componentes son:

Datos. Se trata de la información relevante que almacena y gestiona el sistema de
información. Ejemplos de datos son: Sánchez, 12764569F, Calle Mayo 5, Azul…

Hardware. Equipamiento físico que se utiliza para gestionar los datos. cada uno de los
dispositivos electrónicos que permiten el funcionamiento del sistema de información.

Software. Aplicaciones informáticas que se encargan de la gestión de la base de datos y de

Recursos humanos. Personal que maneja el sistema de información
TIPOS DE SISTEMAS DE INFORMACION
2
Modulo Bases de Datos
En la evolución de los sistemas de información ha habido dos puntos determinantes, que han
formado los dos tipos fundamentales de sistemas de información.
Sistemas de información orientados al proceso
En estos sistemas de información se crean diversas aplicaciones (software) para gestionar
diferentes aspectos del sistema. Cada aplicación realiza unas determinadas operaciones. Los datos
de dichas aplicaciones se almacenan en archivos digitales dentro de las unidades de
almacenamiento del ordenador (a veces en archivos binarios, o en hojas de cálculo, o incluso en
archivos de texto).
Cada programa almacena y utiliza sus propios datos de forma un tanto caótica. La ventaja de este
sistema (la única ventaja), es que los procesos son independientes por lo que la modificación de
uno no afectaba al resto. Pero tiene grandes inconvenientes:
 Datos redundantes. Ya que se repiten continuamente
 Datos inconsistentes. Ya que un proceso cambia sus datos y no el resto. Por lo que el
mismo dato puede tener valores distintos según qué aplicación acceda a él.
 Coste de almacenamiento elevado. Al almacenarse varias veces el mismo dato, se
requiere más espacio en los discos. Luego se agotarán antes.
 Difícil acceso a los datos. Cada vez que se requiera una consulta no prevista inicialmente,
hay que modificar el código de las aplicaciones o incluso crear una nueva aplicación.
 Dependencia de los datos a nivel físico. Para poder saber cómo se almacenan los datos,
es decir qué estructura se utiliza de los mismos, necesitamos ver el código de la aplicación;
es decir el código y los datos no son independientes.
 Tiempos de procesamiento elevados. Al no poder optimizar el espacio de
almacenamiento.
 Dificultad para el acceso simultáneo a los datos. Es casi imposible de conseguir ya que se
utilizan archivos que no admiten esta posibilidad. Dos usuarios no pueden acceder a los
datos de forma concurrente.
 Dificultad para administrar la seguridad del sistema. Ya que cada aplicación se crea
independientemente; es por tanto muy difícil establecer criterios de seguridad uniformes.
3
Modulo Bases de Datos
A estos sistemas se les llama sistemas de gestión de ficheros. Se consideran también así a los
sistemas que utilizan programas ofimáticos (como Word o Excel por ejemplo) para gestionar sus
datos (muchas pequeñas empresas utilizan esta forma de administrar sus datos). De hecho estos
sistemas producen los mismos (si no más) problemas.
Sistemas de información orientados a los datos. (Bases de datos)
En este tipo de sistemas los datos se centralizan en una base de datos común a todas las
aplicaciones.
En esos sistemas los datos se almacenan en una única estructura lógica que es utilizable por las
aplicaciones. A través de esa estructura se accede a los datos que son comunes a todas las
aplicaciones.
Cuando una aplicación modifica un dato, dicho dato la modificación será visible para el resto de
aplicaciones.
4
Modulo Bases de Datos
Ventajas
 Independencia de los datos y los programas y procesos. Esto permite modificar los datos
sin modificar el código de las aplicaciones.
 Menor redundancia. No hace falta tanta repetición de datos. Sólo se indica la forma en la
que se relacionan los datos.
 Integridad de los datos. Mayor dificultad de perder los datos o de realizar incoherencias
con ellos.
 Mayor seguridad en los datos. Al permitir limitar el acceso a los usuarios. Cada tipo de
usuario podrá acceder a unas cosas..
 Datos más documentados. Gracias a los metadatos que permiten describir la información
de la base de datos.
 Acceso a los datos más eficiente. La organización de los datos produce un resultado más
óptimo en rendimiento.
 Menor espacio de almacenamiento. Gracias a una mejor estructuración de los datos.
 Acceso simultáneo a los datos. Es más fácil controlar el acceso de usuarios de forma
concurrente.
Desventajas
 Instalación costosa. El control y administración de bases de datos requiere de un software
y hardware poderoso
 Requiere personal cualificado. Debido a la dificultad de manejo de este tipo de sistemas.
 Implantación larga y difícil. Debido a los puntos anteriores. La adaptación del personal es
mucho más complicada y lleva bastante tiempo.
 Ausencia de estándares reales. Lo cual significa una excesiva dependencia hacia los
sistemas comerciales del mercado. Aunque, hoy en día, una buena parte de esta
tecnología está aceptada como estándar de hecho.
Sistemas de Bases de Datos
Un Sistema de Bases de Datos es un sistema basado en ordenadores, cuyo
propósito general es registrar y mantener datos mediante un sistema gestor de
BD. Permite a los usuarios y aplicaciones la consulta y manipulación de estos
datos - almacenados en bases de datos - usando un lenguaje de consulta
estructurado: SQL (Structured Query Language).
5
Modulo Bases de Datos
Como se ha comentado anteriormente, cuando los datos de un sistema de información se
almacenan en una única estructura, se llama base de datos. Se presentan a continuación algunas
definiciones:
¿QUÉ ES UNA BASE DE DATOS?
Si tuviéramos que dar una definición de lo que es una base de datos diríamos que es un conjunto
de datos almacenados en formato digital para su posterior consulta. Ampliando la definición
añadiríamos que la información puede consultarse según una serie de criterios distintos.
Una colección de datos relacionados, y una descripción de estos datos, diseñados para cumplir con
las necesidades de información de una organización.
Una Base de Datos es un conjunto de información relacionada con un asunto, tema o actividad
específica.
Así, se pueden utilizar Bases de Datos para cosas tan sencillas como mantener un registro de
nuestra colección de discos de música, hasta llevar toda la gestión de una gran empresa u
organización.
Archivo: Colección de registros almacenados siguiendo una estructura homogénea.
Registros: Colección de campos de iguales o de diferentes tipos. También llamados filas,
representan un ítem único de datos estructurados en una tabla. Para entendernos sería el
equivalente a las fichas de un fichero. Cada registro está formado por uno o varios campos. En una
base de datos existen multitud de registros. Cada cliente almacenado en la base es un registro.
Campos: Es un espacio de almacenamiento para un dato en particular. Los datos se almacenan en
los registros dentro de los campos. Si hemos dicho que la ficha equivale a los registros, los campos
serían los conceptos que tienen las fichas. Por ejemplo en el registro de un cliente, los campos
serían el nombre, apellidos, dirección, DNI,…
6
Modulo Bases de Datos
Tabla: La tabla de la base de datos es dónde se almacenan los registros. Cada fila de la tabla
corresponde a un registro. Una base de datos puede contener varias tablas. Por ejemplo una para
los clientes, otra para los productos, otra para ventas,...
El objetivo es que las aplicaciones puedan acceder a los datos sin necesidad de conocer
exactamente cómo están almacenados los datos. Esto se consigue con un esquema conocido
como esquema conceptual. Cualquier desarrollador que conozca ese esquema puede acceder a
los datos desde cualquier aplicación.
APLICACIONES TRADICIONALES
 Sistema de Reservaciones en Aerolíneas (Pasajeros, vuelos, itinerarios, sillas, precios
tiquetes, disponibilidad)
 Sistemas Bancarios (Clientes, cuentas, préstamos, balances de cuentas,
retiros,
consignaciones)
 Registros corporativos (Ventas, cuentas, empleados, descuentos, ascensos, despidos)
Componentes de un Sistema de base de datos
Los elementos de un sistema de base de datos son los mismos que los de un sistema de
información. Se comentan a continuación para concretar un poco más la información que ya
poseíamos:

Hardware. Máquinas en las que se almacenan las bases de datos. Incorporan unidades de
almacenamiento masivo para este fin.
7
Modulo Bases de Datos

Software. Es el sistema gestor de bases de datos. El encargado de administrar las bases de
datos.

Datos. Incluyen los datos que se necesitan almacenar y los metadatos que son datos que
sirven para describir lo que se almacena en la base de datos.

Usuarios. Personas que manipulan los datos del sistema. Hay tres categorías:
o
Usuarios finales. Aquellos que utilizan datos de la base de datos para su trabajo
cotidiano que no tiene por qué tener que ver con la informática.

Desarrolladores. Analistas y programadores encargados de generar aplicaciones
para los usuarios finales.

Administradores. También llamados DBA (Data Base Administrator), se encargan
de gestionar las bases de datos.
Estructura de una base de datos
Las bases de datos están compuestas (como ya se han comentado), de datos y de metadatos. Los
metadatos son datos (valga la redundancia) que sirven para especificar la estructura de la base de
datos; por ejemplo qué tipo de datos se almacenan (si son texto o números o fechas ...), qué
nombre se le da a cada dato (nombre, apellidos,...), cómo están agrupados, cómo se relacionan,....
De este modo se producen dos visiones de la base de datos:
 Estructura lógica o conceptual. Indica la composición y distribución teórica de la base
de datos. La estructura lógica sirve para que las aplicaciones puedan utilizar los
elementos de la base de datos sin saber realmente cómo se están almacenando.
 Estructura física. Es la estructura de los datos tan cual se almacenan en las unidades
de disco. La correspondencia entre la estructura lógica y la física se almacena en la
base de datos (en los metadatos).
8
Modulo Bases de Datos
SISTEMA GESTOR DE BASES DE DATOS (SGBD)
Un gestor de base de datos o sistema de gestión de base de datos (SGBD o DBMS) es un software
que permite introducir, organizar y recuperar la información de las bases de datos; en definitiva,
administrarlas. Existen distintos tipos de gestores de bases de datos: relacional, jerárquico, red, ...
El modelo relacional es el utilizado por casi todos los gestores de bases de datos para PC ́s. El
modelo relacional (SGBDR) es un software que almacena los datos en forma de tablas
9
Modulo Bases de Datos
OBJETIVO DE LOS SISTEMAS GESTORES DE BASES DE DATOS
Un sistema gestor de bases de datos o SGBD (aunque se suele utilizar más a menudo las siglas
DBMS procedentes del inglés, Data Base Management System) es el software que permite a los
usuarios procesar, describir, administrar y recuperar los datos almacenados en una base de datos.
En estos Sistemas se proporciona un conjunto coordinado de programas, procedimientos y
lenguajes que permiten a los distintos usuarios realizar sus tareas habituales con los datos,
garantizando además la seguridad de los mismos.
10
Modulo Bases de Datos
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:
 Herramientas para la creación y especificación de los datos. Así como la estructura de la
base de datos.
 Herramientas para administrar y crear la estructura física requerida en las unidades de
almacenamiento.
 Herramientas para la manipulación de los datos
de las bases de datos, para añadir, modificar,
suprimir o consultar datos.
 Herramientas de recuperación en caso de
desastre
 Herramientas para la creación de copias de
seguridad
 Herramientas para la gestión de la comunicación de la base de datos
 Herramientas para la creación de aplicaciones que utilicen esquemas externos de los datos
 Herramientas de instalación de la base de datos
 Herramientas para la exportación e importación de datos DBMS
11
Modulo Bases de Datos
CAPITULO 2
EL MODELO DE DATOS
¿Qué es un modelo?
Es una representación de la realidad que contiene las características generales de algo que se va a
realizar. En base de datos, esta representación la elaboramos de forma gráfica.
Un modelo es una representación de la realidad que conserva sólo los detalles relevantes.
Una representación abstracta de los datos de una organización y las relaciones entre ellos. Más
aún, podemos decir que, en cierta medida, un modelo de datos describe una organización.
El propósito de un modelo de datos es, por una parte, representar los datos y, por otra, ser
comprensible.
Es una colección de herramientas conceptuales para describir los datos, las relaciones que existen
entre ellos, semántica asociada a los datos y restricciones de consistencia.
Por ejemplo, consideremos una transacción bancaria tal como un depósito en una cuenta
corriente. El departamento de contabilidad desea conservar ciertos detalles (número de cuenta,
importe del depósito, fecha, número del cajero) e ignorar otros (las palabras que se han
intercambiado durante la transacción, la longitud de la cola, la temperatura ambiental dentro del
banco,…).
La realidad involucra un sin número de detalles, pero el departamento de contabilidad considerará
la mayoría de ellos irrelevantes para la transacción. De modo que un modelo, desde el punto de
vista del departamento de contabilidad, deberá considerar sólo aquellos detalles que este
considere relevantes. Por supuesto, algunos detalles considerados irrelevantes para un usuario o
grupo de usuarios pueden ser relevantes para otros. Ejemplo: la longitud de la cola puede ser
interesante para el director del banco en el sentido de contratar a más cajeros para atender al
público. Por tanto, diferentes usuarios o grupos de usuarios pueden tener distintos modelos de la
realidad.
12
Modulo Bases de Datos
Una Base de Datos incorpora un modelo de la realidad. El SGBD gestiona la Base de Datos de
modo que cada usuario pueda registrar, acceder y manipular los datos que constituyen su modelo
de la realidad. Manipulando los datos los usuarios pueden obtener información necesaria que les
sea útil en su vida. Por tanto, los modelos son herramientas poderosas para eliminar los detalles
irrelevantes y comprender la realidad de los usuarios individuales.
Para modelar debemos asociar/identificar elementos de la realidad con elementos del modelo. Si
esta asociación se hace correctamente, entonces el modelo se puede usar para resolver el
problema. De lo contrario, el modelo probablemente conducirá a una solución incompleta o
incorrecta.
Campañas
PK
Ejecutivas
codi_campaña
PK
Nombre campaña
Fecha_inicio
Fecha_termino
codi_ejecutiva
Nombre
Rut
Dirección
Teléfono
Estado
Carteras
PK
codi_cartera
FK1
FK2
codi_campaña
codi_ejecutiva
Estado
Clientes
PK
Nombre
Direccion
Ciudad
Telefono
Detalle_cartera
13
PK
codi_detalle
FK1
FK2
FK3
codi_cartera
rut_cliente
codi_promocion
flag_compra
Fecha_contacto
Modulo Bases de Datos
Rut_cliente
Promociones
PK
codi_promocion
Nombre_promocion
Valor
El modelo entidad relación (entidad –interrelación)
El modelo Entidad-Relación es un modelo conceptual de datos orientado a entidades. Se basa en
una técnica de representación gráfica que incorpora información relativa a los datos y las
relaciones existentes entre ellos, para darnos una visión de mundo real, eliminando los detalles
irrelevantes.
CARACTERÍSTICAS DEL MODELO
� Refleja tan solo la existencia de los datos, no lo que se hace con ellos.
� Se incluyen todos los datos relevantes del sistema en estudio.
� No está orientado a aplicaciones específicas.
� Es independiente de los SGBD.
� No tiene en cuenta restricciones de espacio, almacenamiento, ni tiempo de ejecución.
� Está abierto a la evolución del sistema.
� Es el modelo conceptual más utilizado.
ELEMENTOS DEL MODELO
Los elementos básicos del modelo E-R original son:
� ENTIDAD
� ATRIBUTO
� DOMINIO
� RELACION
Entidad: Persona, suceso o concepto, de interés para la Organización, distinguible de los demás
objetos.
Cualquier tipo de objeto o concepto sobre el que se recoge información: cosa, persona, concepto
abstracto o suceso. Por ejemplo: persona, producto, compañía, media de transporte, entre otros.
14
Modulo Bases de Datos
Atributos: Cada una de las propiedades o características que tiene una entidad.
Relación: Es la asociación existente entre dos o más entidades.
15
Modulo Bases de Datos
MODELO RELACIONAL (BASES DE DATOS RELACIONALES)
BASES RELACIONALES Las tablas de las bases de datos pueden relacionarse entre sí obteniendo
información asociada. Este tipo de bases de datos se denominan bases de datos relacionales y son
las más comunes.
Una base de datos relacional es un conjunto de una o más tablas estructuradas en registros
(líneas) y campos (columnas), que se vinculan entre sí por un campo en común, en ambos casos
posee las mismas características como por ejemplo el nombre de campo, tipo y longitud; a este
campo generalmente se le denomina ID, identificador o clave. A esta manera de construir bases de
datos se le denomina modelo relacional.
Estrictamente hablando el término se refiere a una colección específica de datos pero a menudo
se le usa, en forma errónea como sinónimo del software usado para gestionar esa colección de
datos. Ese software se conoce como SGBD (sistema gestor de base de datos) relacional o RDBMS
(del inglés relational database management system).
Las bases de datos relacionales pasan por un proceso al que se le conoce como normalización de
una base de datos, el cual es entendido como el proceso necesario para que una base de datos sea
utilizada de manera óptima.
Entre las ventajas de este modelo están:
1. Garantiza herramientas para evitar la duplicidad de registros, a través de campos claves o
llaves.
2. Garantiza la integridad referencial: Así al eliminar un registro elimina todos los registros
relacionados dependientes.
3. Favorece la normalización por ser más comprensible y aplicable.
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 columna almacena información sobre una propiedad
16
Modulo Bases de Datos
determinada de la tabla (se le llama también atributo), nombre, dni, apellidos, edad,....
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).
El modelo entidad-relación es un modelo conceptual que sirve para cualquier tipo de SGBD, en
cambio, el modelo relacional es un modelo lógico que sólo sirve para SGBD relacionales (y no para
jerárquicos, o Codasyl, por ejemplo).
Todos los diseñadores y administradores de bases de datos relacionales usan esquemas
conceptuales entidad-relación porque se adaptan muy bien a este modelo.
Hay que tener en cuenta la diferencia de la palabra relación en ambos modelos. En el modelo
relacional una relación es una tabla mientras que en el entidad/relación es la asociación que se
produce entre dos entidades.
RELACION (TABLAS)
Según el modelo relacional el elemento fundamental es lo que se conoce como relación, aunque
más habitualmente se le llama tabla. Se trata de una estructura formada por filas y columnas que
almacena los datos referentes a una determinada entidad o relación del mundo real.
Acerca de una tabla, además de su nombre, podemos distinguir lo siguiente:
Atributo
Representa una propiedad que posee esa tabla. Equivale al atributo del modelo E-R. Se
corresponde con la idea de campo o columna.
17
Modulo Bases de Datos
Tupla
Cada una de las filas de la tabla. Se corresponde con la idea de registro. Representa por tanto cada
elemento individual (ejemplar, ocurrencia) de esa tabla.
Dominio
Conjunto válido de valores representables por un atributo
Un dominio contiene todos los posibles valores que puede tomar un determinado atributo. Dos
atributos distintos pueden tener el mismo dominio. Un domino en realidad es un conjunto finito
de valores del mismo tipo. Los dominios poseen un nombre para poder referirnos a él y así poder
ser reutilizable en más de un atributo.
Grado
Número de columnas de la tabla (número de atributos).
Cardinalidad
Número de tuplas de una tabla (número de filas).
CLAVES
RESTRICCIÓN
Una restricción es una condición de obligado cumplimiento por los datos de la base de datos. Las
hay de varios tipos.
• Aquellas que son definidas por el hecho de que la base de datos sea relacional:
• No puede haber dos tuplas iguales
• El orden de las tuplas no es significativo
• El orden de los atributos no es significativo, no importa
• Cada atributo sólo puede tomar un valor en el dominio en el que está inscrito
• Aquellas que son incorporadas por los usuarios:
• Clave primaria (primary key)
18
Modulo Bases de Datos
Hace que los atributos marcados como clave primaria no puedan repetir valores. Además
obliga a que esos atributos no puedan estar vacíos. Si la clave primaria la forman varios
atributos, ninguno de ellos podrá estar vacío.
• Unicidad (unique)
Impide que los valores de los atributos marcados de esa forma, puedan repetirse. Esta
restricción debe indicarse en todas las claves alternativas.
• Obligatoriedad (not null)
Prohíbe que el atributo marcado de esta forma no tenga ningún valor (es decir impide que
pueda contener el valor nulo, null).
• Integridad referencial (foreign key)
Sirve para indicar una clave externa. Cuando una clave se marca con integridad referencial, no se
podrán introducir valores que no estén incluidos en los campos relacionados con esa clave.
Esto último causa problemas en las operaciones de borrado y modificación de registros, ya que si
se ejecutan esas operaciones sobre la tabla principal quedarán filas en la tabla secundaria con la
clave externa sin integridad. Esto se puede manipular agregando las siguientes cláusulas:
RESTRICT: esta opción impide eliminar o modificar filas en la tabla referenciada si
existen filas con el mismo valor de clave foránea.
• CASCADE: borrar o modificar una clave en una fila en la tabla referenciada con un
valor determinado de clave, implica borrar las filas con el mismo valor de clave
foránea o modificar los valores de esas claves foráneas.
• SET NULL: borrar o modificar una clave en una fila en la tabla referenciada con un
valor determinado de clave, implica asignar el valor NULL a las claves foráneas con
el mismo valor.
• NO ACTION: las claves foráneas no se modifican, ni se eliminan filas en la tabla que
las contiene.
19
Modulo Bases de Datos
• SET DEFAULT: borrar o modificar una clave en una fila en la tabla referenciada con
un valor determinado implica asignar el valor por defecto a las claves foráneas con
el mismo valor.
CAPITULO 4
NORMALIZACION
20
Modulo Bases de Datos
Documentos relacionados
Descargar