apuntes fundamentos de base de datos unidad 1
DESCRIPTION
apuntes de Base de datos 1TRANSCRIPT
-
ApuntesdelaUnidad1deBasedeDatos
FundamentosdeBasedeDatos Page1
DEFINICIN DE BASE DE DATOS.- Base de Datos es un conjunto de datos relacionados entre s y que tienen un significado implcito .
En un sistema de informacin 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 aplicacin particular. En este sistema los datos pueden ser
redundantes (repetidos innecesariamente) y la actualizacin de los archivos es ms lenta
que en una base de datos.
2. Base de datos. Es un almacenamiento de datos formalmente definido, controlado centralmente para intentar servir a mltiples y diferentes aplicaciones. La base de datos
es una fuente significativa de datos que son compartidos por numerosos usuarios para
diversas aplicaciones.
CONCEPTOS BSICOS Algunos conceptos bsicos vinculados al tema Bases de Datos.
Datos
Entidades
Claves primarias y forneas
Relaciones
Restricciones de integridad referencial
Metadatos
Datos Son hechos conocidos que pueden registrarse y que tienen un significado implcito .
Entidades Una entidad es todo aquello de lo cual interesa ejemplo: clientes, facturas, productos,
empleados. En el Modelo de Entidad-Relacin que se presenta, se observa que las
entidades estn formadas por atributos o campos referidos a
un mismo tema que interesa almacenar.
-
ApuntesdelaUnidad1deBasedeDatos
FundamentosdeBasedeDatos Page2
Claves Primarias y Claves Forneas identifica unvocamente al conjunto de datos.
Cuando en una entidad figura la clave primaria de otra entidad, sta se denomina clave
fornea. Las entidades se relacionan entre s a trav s de las claves forneas.
Datos y Metadatos Metadatos son datos acerca de los datos presentes en la base de datos.
SISTEMA DE GESTIN DE BASES DE DATOS (SGDB) Un sistema de gestin 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.
Diseador de bases de datos.- Antes de implementar la base de datos Identifica los datos que se almacenarn 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.
Diseadores e implementadores del SGBD Se encargan de disear e implementar los mdulos 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 informtico 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; bsicamente
-
ApuntesdelaUnidad1deBasedeDatos
FundamentosdeBasedeDatos Page3
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 fcil de la informacin almacenada en
ella. No se debe confundir base de datos con SGBD con Base de Datos, el primero es una herramienta
para la creacin mientras que la segunda es una solucin concreta a un problema de almacenamiento
de datos determinado. Por ej. Con Access (es un SGBD) podemos crear y gestionar mltiples 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 ms 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 informacin. A continuacin se muestran con un ejemplo, los aspectos bsicos de una
estructura tabla para el almacenamiento de datos. Tabla Estructura que almacena todos los datos sobre un tipo de entidad o relacin. 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, Garca 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 bsquedas. La necesidad de estos campos es evidente. Si por ej. Tenemos una tabla con 5000 registros
de personas, resultar ms fcil buscar a una persona por sus apellidos si la tabla est ordenada por
este campo. Si no estuviera ordenada se podra realizar la bsqueda pero para un apellido como
Martn en el peor de los casos tendramos 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 pasaramos de los registros que
tuvieran el apellido Martn ya que mas all no podra 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 unvocamente a una ocurrencia de la entidad. Supongamos que en nuestra
tabla de 5000 registros deseamos localizar a una persona llamada Antonio Garca Fernndez; Existe la
posibilidad de que dos personas tengan estos mismos nombres y apellidos?, la respuesta es S, de
-
ApuntesdelaUnidad1deBasedeDatos
FundamentosdeBasedeDatos Page4
forma que si hubiese dos, no sabramos a quien nos estaramos refiriendo, con lo que tendramos un
problema. Para solucionarlo las bases de datos contienen campos que identifican a las entidades para
evitar confusiones o dudas. Uno de los campos tpicos para identificar a cada persona en una base de
datos suele ser el DNI ya que este identifica unvocamente 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). Relacin de tablas asociadas por campos comunes. Una base de datos no tiene sentido si sus tablas no estn asociadas para mostrar la informacin 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 pelculas. En la tabla SOCIOS apareceran todos los datos personales de los socios. En la
tabla ALQUILER apareceran todos los datos del alquiler de la pelcula como por ej. (fecha, importe,
titulo) . pero faltara un campo que identificara el socio que la alquil. Una solucin podra 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. Grficamente
la estructura de las tablas sera la que se muestra a continuacin: En el registro de alquileres se puede apreciar que Antonio Garca (socio n 1) ha realizado dos
alquileres uno el da 10 y otro el da 12 Hay que observar que la asociacin de tablas se ha realizado
mediante un campo comn SOCIO que contiene el n de socio para cada socio del videoclub. Este
campo en la tabla SOCIOS es clave principal e identifica unvocamente a cada socio (No puede haber
dos socios con el mismo n) y en la tabla ALQUILER permite identificar al socio que alquila la pelcula.
Un registro es la mnima 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 direccin, 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 ingls
SOCIO NOMBRE APELLIDOS TFNO 1 Antonio Garca 913565872 2 Mara Lpez 912598762 3 Carlos Milla 912587931
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
-
ApuntesdelaUnidad1deBasedeDatos
FundamentosdeBasedeDatos Page5
Qu es una BBDD o BD? Base de datos Para qu sirve una DB? Almacenar datos Cmo 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 Cuntos tipos hay? Muchos, pero los habituales en web son Access, mySQL y SQL Server 2000 Necesito algn 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 Modificacin 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 informacin en formato texto plano. No es capaz de almacenar imgenes 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 interaccin fluida con la aplicacin; estas se encargan muchas veces de administrar, editar, y dar de alta. Usualmente la base de datos, est ligada a la programacin directa del site, causando que una edicin en ella cause una modificacin directa en lo que ve el usuario.
Ejemplos de aplicacin de una base de datos (entindase que estn ligadas a un lenguaje dinmico como PHP o ASP): E comerce, Agendas, Libros de visitas, foros, portales, etc
-
ApuntesdelaUnidad1deBasedeDatos
FundamentosdeBasedeDatos Page6
Estructura normal de una DB
Una base de datos, a fin de ordenar la informacin de manera lgica, posee un orden que debe ser cumplido para acceder la informacin de manera coherente.
Cada base de datos tiene una o ms tablas, las cuales cumplen la funcin de contener los campos. Un ejemplo de tabla sera contactos. Para entender mejor esto, sera como un libro en el excel. Mientras que los campos seran las columnas del excel donde se ordena cada datos insertado al libro. Ejemplo id, nombres, apellidos, telfono. Y luego finalmente tenemos las filas (row), que son la informacin propiamente dicha.
Por consiguiente una base de datos posee el siguiente orden jerrquico:
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 comnmente 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 grfico normal, y es muy parecido a usar excel.
MySQL: Es una base de datos con licencia GPL basada en un servidor, puede ser slo creada por cdigo. Usualmente se utiliza el programa phpMyAdmin como soporte para administrar la base de datos en el nivel de programacin (a un usuario normal le resultara complicado utilizarla desde lnea de comandos) Pero es muy recomendable y compatible.
SQL Server: Es una base de datos ms potente que Access desarrollada por Microsoft tambin, que se supone es recomendable arriba del milln datos.
PostgreSQL / Oracle: Son realmente mucho ms poderosas que todas las antes mencionadas, aunque tambin 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 segn lo buscado. Bsicamente, existen muchsimas funciones de SQL, pero detallar las ms usuales, con las cuales se pueden lograr una interaccin buena con la DB.