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
© Copyright 2025