Fundamentos de Base de Datos

Apuntes de la Unidad 1 de Base de Datos DEFINICIÓN DE BASE DE DATOS.-‡ Base de Datos es un conjunto de
datos relacionados entre sðy que tienen un significado implðcito• .
En un sistema de información se cuenta con dos enfoques
principales para definir el almacenamiento de los datos:
1. Archivos tradicionales. Consiste en almacenar los datos en archivos individuales,
exclusivos para cada aplicaciön particular. En este sistema los datos pueden ser
redundantes (repetidos innecesariamente) y la actualizaciön de los archivos es mäs lenta
que en una base de datos.
2. Base de datos. Es un almacenamiento de datos formalmente definido, controlado
centralmente para intentar servir a mýltiples y diferentes aplicaciones. La base de datos
es una fuente significativa de datos que son compartidos por numerosos usuarios para
diversas aplicaciones.
CONCEPTOS BÁSICOS
Algunos conceptos bäsicos vinculados al tema Bases de Datos.
•
Datos
•
Entidades
•
Claves primarias y foräneas
•
Relaciones
•
Restricciones de integridad referencial
•
Metadatos
Datos ‡ Son hechos conocidos que pueden registrarse y que tienen un significado
implðcito• .
Entidades
Una entidad es todo aquello de lo cual interesa ejemplo: clientes, facturas, productos,
empleados. En el Modelo de Entidad-Relación que se presenta, se observa que las
entidades estän formadas por atributos o campos referidos a
un mismo tema que interesa almacenar.
Fundamentos de Base de Datos Page 1 Apuntes de la Unidad 1 de Base de Datos Claves Primarias y Claves Foráneas
identifica unívocamente al conjunto de datos.
Cuando en una entidad figura la clave primaria de otra entidad, ì sta se denomina clave
foránea. Las entidades se relacionan entre sða travì s de las claves foráneas.
Datos y Metadatos
Metadatos son datos acerca de los datos presentes en la base de datos.
SISTEMA DE GESTIÓN DE BASES DE DATOS (SGDB)
Un sistema de gestiön de bases de datos (SGBD; en inglì s, Database Management
System: DBMS) es un conjunto de programas que permite a los usuarios crear y
mantener una base de datos.
Administrador de bases de datos
Se encarga de autorizar el acceso a la base de datos, de coordinar y vigilar su empleo, y
de adquirir los recursos necesarios de
software y hardware.
Diseñador de bases de datos.- Antes de implementar la base de datos
Identifica los datos que se almacenarän y elige las estructuras apropiadas para
representar y almacenar dichos datos.
Cargos y Funciones vinculados a un SGBB (cont.)
Usuarios finales
Son los principales destinatarios de la base de datos. Son quienes tienen acceso a la
base de datos para consultarla, actualizarla y generar informes.
Diseñadores e implementadores del SGBD
Se encargan de diseôar e implementar los mödulos e
interfaces del SGBD en forma de paquetes de software.
Sistema Gestor de Bases de Datos (SGBD):
Para construir una base de datos en soporte
informätico con todas las informaciones a almacenar (estructuras de datos, tablas, ðndices , etc″ ), es
necesario disponer de una herramienta que lo permita. Este es el cometido de un SGBD; bäsicamente
Fundamentos de Base de Datos Page 2 Apuntes de la Unidad 1 de Base de Datos permite crear, manipular gestionar y eliminar tanto los datos como las estructuras de una base de
datos, permitiendo de esta forma el tratamiento automatizado y fäcil de la informaciön almacenada en
ella. No se debe confundir base de datos con SGBD con Base de Datos, el primero es una herramienta
para la creaciön mientras que la segunda es una soluciön concreta a un problema de almacenamiento
de datos determinado. Por ej. Con Access (es un SGBD) podemos crear y gestionar mýltiples bases de
datos (para gestionar un videoclub, una biblioteca, un comercio, etc″ ) con diferentes necesidades de
almacenamiento.
Modelo Relacional
Para organizar los datos de una base de datos es necesario crear estructuras que los contengan. Existe
varios modelos de almacenamiento pero el mäs extendido es el modelo Relacional. Este modelo se
caracteriza por almacenar organizar los datos en forma de tabla, esta es una forma habitual de
organizar la informaciön. A continuaciön se muestran con un ejemplo, los aspectos bäsicos de una
estructura tabla para el almacenamiento de datos.
Tabla
Estructura que almacena todos los datos sobre un tipo de entidad o relaciön. Por ej. Clientes, Socios,
Libros, Prì stamos, etc″
Campo: Cada uno de las informaciones que se almacenan sobre una entidad. Por ej. Edad, Telì fono,
DNI, etc″ . (columnas de la tabla).
Registro de datos (o Registro): Cada uno de los conjuntos de datos almacenados sobre una
ocurrencia de una entidad determinada. Por ej. Antonio, Garcða Ramos, 956432178 son los datos que
conforman el registro de Antonio. (filas de datos de la tabla).
Campo índice:
Es un tipo especial de campo por el que se establece un orden para realizar
býsquedas. La necesidad de estos campos es evidente. Si por ej. Tenemos una tabla con 5000 registros
de personas, resultarä mäs fäcil buscar a una persona por sus apellidos si la tabla estä ordenada por
este campo. Si no estuviera ordenada se podrða realizar la býsqueda pero para un apellido como
‡ Martðn• en el peor de los casos tendrðamos que buscar hasta el final de la tabla, mientras que con
un orden (ðndice) sobre el campo apellidos, en el peor de los casos no pasarðamos de los registros que
tuvieran el apellido ‡ Martðn• ya que mas allä no podrða haber ninguna persona con ese apellido.
Campo Clave Principal: Se trata de un campo de la tabla al que se le define una propiedad
especial para identificar unðvocamente a una ocurrencia de la entidad. Supongamos que en nuestra
tabla de 5000 registros deseamos localizar a una persona llamada Antonio Garcða Fernändez; ÂExiste la
posibilidad de que dos personas tengan estos mismos nombres y apellidos?, la respuesta es Sð, de
Fundamentos de Base de Datos Page 3 SOCIO
1 2
3
NOMBRE
Antonio
María
Carlos
Apuntes de la Unidad 1 de Base de Datos APELLIDOS TFNO
SOCIO FECHA IMPORTE
TITULO
1
10/10/02 2
La His…
2
10/10/02 1
El Señ…
2
11/10/02 1
Seis….
1
12/10/02 2
Dos…
forma que si hubiese dos, no sabrðamos a quien nos estarðamos refiriendo, con lo que tendrðamos un
García
López
Milla
913565872
912598762
912587931
problema. Para solucionarlo las bases de datos contienen campos que identifican a las entidades para
evitar confusiones o dudas. Uno de los campos tðpicos para identificar a cada persona en una base de
datos suele ser el DNI ya que este identifica unðvocamente a una persona (uno a uno ‘dada una
persona solo tiene un DNI; dado un DNI solo pertenece e identifica a una persona). Hay que destacar
que en una tabla no puede haber dos ocurrencias de entidad con el mismo DNI (en una tabla de
clientes no puede haber dos clientes con igual DNI; tampoco podrä registrarse dos veces al mismo
cliente).
Relación de tablas asociadas por campos comunes.
Una base de datos no tiene sentido si sus tablas no estän asociadas para mostrar la informaciön de
una forma globalizada. Para asociar tablas hay que establecer relaciones (normalmente entre campos
comunes). Por ej. Supongamos que tenemos dos tablas en las que se almacenan datos sobre socios y
prestamos de pelðculas. En la tabla SOCIOS aparecerðan todos los datos personales de los socios. En la
tabla ALQUILER aparecerðan todos los datos del alquiler de la pelðcula como por ej. (fecha, importe,
titulo)″ . pero faltarða un campo que identificara el socio que la alquilö. Una soluciön podrða ser poner
en esta tabla el nombre del socio pero es posible que hubiese dos socios con nombre y apellidos
iguales. En este caso lo mejor es colocar un campo llamado ‡ socio• en la tabla SOCIOS donde se
almacena el n½de socio para cada uno de ellos, por otro lado en la tabla ALQUILER colocaremos el
campo ‡ socio• para cada alquiler, reflejando asðsolamente el n½de socio que alquila. Gräficamente
la estructura de las tablas serða la que se muestra a continuaciön:
En el registro de alquileres se puede apreciar que Antonio Garcða (socio n½1) ha realizado dos
alquileres uno el dða 10 y otro el dða 12 Hay que observar que la asociaciön de tablas se ha realizado
mediante un campo comýn ‡ SOCIO• que contiene el n½de socio para cada socio del videoclub. Este
campo en la tabla SOCIOS es clave principal e identifica unðvocamente a cada socio (No puede haber
dos socios con el mismo n½
) y en la tabla ALQUILER permite identificar al socio que alquila la pelðcula.
Un registro es la mðnima unidad disponible a la cual se puede acceder en un archivo. Tomemos
como ejemplo el caso de la agenda de contacto y supongamos que tomamos como datos relevantes
el Nombre, DNI, la direcciön, el telì fono, el mail y la fecha de nacimiento. A estos datos los llamaremos
campos. Es decir que nuestro registro estä compuesto por 6 (seis) campos.
¿Qué es una DB?
Data Base = Base de datos en inglés
Fundamentos de Base de Datos Page 4 Apuntes de la Unidad 1 de Base de Datos ¿Qué es una BBDD o BD?
Base de datos
¿Para qué sirve una DB?
Almacenar datos
¿Cómo se aprende a programar en mySQL?
No se aprende, mySQL es una base de datos, no un lenguaje
¿SQL es una base de datos?
SQL server sí, pero SQL es un lenguaje
¿Cuántos tipos hay?
Muchos, pero los habituales en web son Access, mySQL y SQL Server 2000
¿Necesito algún lenguaje especial para conectarme?
Sí, SQL es el lenguaje para interactuar con las bases de datos
¿Qué es un Query?
Una consulta a la base de datos
¿Qué es ABM?
Alta, Baja y Modificación de cualquier cosa. Usualmente de una base de datos que contiene
datos.
¿Qué es CMS?
Control Managment System : Un panel de control que administra un web site, y a menudo una
base de datos.
Funcionalidad de un DB Una base de datos (sea cual sea) es un soporte digital que tiene como
fin el almacenamiento masivo de información en formato texto plano. No es capaz de almacenar
imágenes como se cree, sino que almacena las rutas (path) de dichas fotos; ni almacena otro tipo
de datos; sino que almacena sus rutas de acceso de ser necesario.
Las bases de datos, son utilizadas en sistemas que requieren una interacción fluida con la
aplicación; estas se encargan muchas veces de administrar, editar, y dar de alta. Usualmente la
base de datos, está ligada a la programación directa del site, causando que una edición en ella
cause una modificación directa en lo que ve el usuario.
Ejemplos de aplicación de una base de datos (entiéndase que están ligadas a un lenguaje
dinámico como PHP o ASP):
E – comerce, Agendas, Libros de visitas, foros, portales, etc
Fundamentos de Base de Datos Page 5 Apuntes de la Unidad 1 de Base de Datos Estructura normal de una DB
Una base de datos, a fin de ordenar la información de manera lógica, posee un orden que debe
ser cumplido para acceder la información de manera coherente.
Cada base de datos tiene una o más tablas, las cuales cumplen la función de contener los campos.
Un ejemplo de tabla sería “contactos”. Para entender mejor esto, sería como un libro en el excel.
Mientras que los campos serían las columnas del excel donde se ordena cada datos insertado al
libro. Ejemplo “id, nombres, apellidos, teléfono”. Y luego finalmente tenemos las filas (row),
que son la información propiamente dicha.
Por consiguiente una base de datos posee el siguiente orden jerárquico:
•
•
•
Tablas
Campos
Registros
Tipos usuales de bases de datos en la Web
En la web, se suelen usar 3 tipos de bases de datos:
Access: Es una base de datos desarrollada por Microsoft comúnmente utilizada bajo el lenguaje
ASP (Active Server Pages). Esta base de datos, debe ser creada bajo el programa access, el cual
crea archivo .mdb con la estructura ya explicada. El programa usa un entorno gráfico normal, y
es muy parecido a usar excel.
MySQL: Es una base de datos con licencia GPL basada en un servidor, puede ser sólo creada
por código. Usualmente se utiliza el programa phpMyAdmin como soporte para administrar la
base de datos en el nivel de programación (a un usuario normal le resultaría complicado utilizarla
desde línea de comandos) Pero es muy recomendable y compatible.
SQL Server: Es una base de datos más potente que Access desarrollada por Microsoft también,
que se supone es recomendable arriba del millón datos.
PostgreSQL / Oracle: Son realmente mucho más poderosas que todas las antes mencionadas,
aunque también se duplican los problemas. Administra muy bien grandes cantidades de datos, y
suelen ser utilizadas en intranets y sistemas de gran calibre.
Lenguaje SQL
Este es el lenguaje que se utiliza para conectarse a una base de datos. Son sentencias, que
realizan un query (consulta) a la DB a fin de que esta les responda con una cantidad de datos
limitada según lo buscado. Básicamente, existen muchísimas funciones de SQL, pero detallaré
las más usuales, con las cuales se pueden lograr una interacción buena con la DB.
Fundamentos de Base de Datos Page 6