apuntes fundamentos de base de datos unidad 1

6
Apuntes de la Unidad 1 de Base de Datos Fundamentos de Base de Datos Page 1 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.

Upload: francocorelli2

Post on 19-Nov-2015

218 views

Category:

Documents


5 download

DESCRIPTION

apuntes de Base de datos 1

TRANSCRIPT

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