Base de Datos 1.- Introducción ¿Que es una Base de Datos? Es un Conjunto de información (un conjunto de datos) relacionada que se encuentra agrupada ó estructurada. Los datos se almacenan de modo que resulten independientes de los programas que los utilizan, y se emplean métodos concretos y determinados para incluir nuevos datos y para modificar o extraer los ya almacenados. El archivo por sí mismo, no constituye una base de datos, sino más bien la forma en que está organizada la información es la que da origen a la base de datos. Las bases de datos manuales, pueden ser difíciles de gestionar y modificar. Por ejemplo, en una guía de teléfonos no es posible encontrar el número de un individuo si no sabemos su apellido, aunque conozcamos su domicilio. Del mismo modo, en un archivo de pacientes en el que la información esté desordenada por el nombre de los mismos, será una tarea bastante engorrosa encontrar todos los pacientes que viven en una zona determinada. Los problemas expuestos anteriormente se pueden resolver creando una base de datos informatizada. Desde el punto de vista informático, una base de datos es un sistema formado por un conjunto de datos almacenados en discos que permiten el acceso directo a ellos y un conjunto de programas que manipulan ese conjunto de datos. Desde el punto de vista más formal, podríamos definir una base de datos como un conjunto de datos estructurados, fiables y homogéneos, organizados independientemente en máquina, accesibles a tiempo real, compartibles por usuarios concurrentes que tienen necesidades de información diferente y no predecibles en el tiempo. Las principales Propiedades de una Base de Datos son: 1. 2. 3. 4. 5. 6. Conjunto (colección) de datos. Datos interrelacionados y estructurados. Presentan la menor redundancia posible. Independencia de datos y de procesos. Soporta múltiples usuarios y múltiples aplicaciones. La actualización y recuperación de datos debe asegurar Integridad, Seguridad y Confidencialidad de los datos. 2.- Base de datos relacionales En una computadora existen diferentes formas de almacenar información. Esto da lugar a distintos modelos de organización de la base de datos: jerárquico, red, relacional y orientada a objeto. Los sistemas relacionales son importantes porque ofrecen muchos tipos de procesos de datos, como: simplicidad y generalidad, facilidad de uso para el usuario final, períodos cortos de aprendizaje y las consultas de información se especifican de forma sencilla. Las tablas son un medio de representar la información de una forma más compacta y es posible acceder a la información contenida en dos o más tablas. Más adelante explicaremos que son las tablas. Las bases de datos relacionales están constituidas por una o más tablas que contienen la información ordenada de una forma organizada. Cumplen las siguientes leyes básicas: o o o o o Generalmente, contendrán muchas tablas. Una tabla sólo contiene un número fijo de campos. El nombre de los campos de una tabla es distinto. Cada registro de la tabla es único. El orden de los registros y de los campos no está determinados. o Para cada campo existe un conjunto de valores posible. Que es un Sistema de Gestión de Base de Datos (SGBD)? Es un conjunto de programas, procedimientos, lenguajes, etc. que suministra a los usuarios los medios necesarios para describir, recuperar y manipular los datos integrados en la base, asegurando su Confidencialidad y seguridad. entre otros, para: - definición de datos - - privacidad y seguridad - - modificación y/o recuperación de datos - - backup (respaldo) y/o restore (recuperación) - - mantenimiento - consulta - reportes - etc." " . Es la interfaz entre las transacciones y peticiones de los usuario y la base de datos Microsoft Acces es un Gestor de Base de Datos 3.- Etapas para el Diseño y Modelado de una Base de Datos Relacional Requerimiento de información de la Organización PASO (0) ESTRATEGIA ANALISIS Modelado Conceptual de los Datos PASO (1) (Definir Entidades/ Modelo Entidad Relación) Modelo Entidad-Relación Diseño de la Base de Datos DISEÑO (Definición de Tablas, con sus respectivos campos y marcar las Relaciones) PASO (2) Modelo Entidad-Relación PASO (3) ESTRUCTURA/ IMPLEMENTACION Estructura/Implementacion de la Base de Datos (Uso de un SGBD para la creación de la Estructura de BD) Modelo Entidad-Relación PASO (1) Modelado Conceptual de Datos 1.1. Definir Entidades con sus a tributos Entidad: es algo de interés para la Organización sobre la cual se necesita saber la información. Ejemplo: Empleado, Departamento Proyecto. Cada Entidad tiene un número de atributos que la describen ó caracteriza. Atributo: Son los valores o información que describe a una Entidad. Pueden ser cuantitativo, cualitativos, ó descriptivos. Ej: El empleado es descrito por un numero de distintivo, nombre, fecha de cumpleaños, salario. Un Diagrama Será: EMPLEADO DEPARTAMENTO Nª distintivo nombre fecha de cumpleaños salario numero nombre localización PROYECTO código titulo descripción 1.2.Componentes del Modelo Entidad Relación Relaciones: son las relaciones establecidas entre las entidades a través de sus atributos Tipo de Relaciones: Existen tres tipos de relaciones: Mucho a uno (M a 1 ó M:1) Ej: existe una relación M:1 entre los clientes y Un Representante de Ventas Clientes Representante de Ventas Cada Cliente puede ser visitado por uno y solo un Representante de Ventas Cada Representante de Ventas puede ser asignado a visitar a uno o más clientes Mucho a Muchos (M:M) Ej: Existe una Relación M:M entre un Estudiante y un Curso Estudiante Curso Cada Estudiante puede estar inscrito en uno ó más cursos Cada Curso puede estar compuesto por uno ó más cursos Uno a Uno(1:1) Ej: Existe una Relación entre el Procesador y la Tarjeta Madre PC Tarjeta Madre Cada PC debe TENER una y solo una Tarjeta Madre Local Cada Tarjeta Madre puede ser incorporado dentro de uno y solo un PC Convenciones acerca del Diagrama de Relaciones Opcionalidad Puede estar Debe estar Grado de la Relación Uno ó Muchos Uno y Solo uno Asignación de Identificadores Único (ID) Un Identificador Único (ID) es una combinación de atributos ó un atributo que sirve para identificar de manera única una ocurrencia de una entidad. Cada entidad debe tener un Atributo mandatario el cual debe ser una clave única que identificará de manera única cada ocurrencia de la Entidad al igual que puede tener atributos opcionales Los cuales se identificará como sigue: * Atributo Mandatario o Atributo Opcional Por Ej: En la entidad IDU (IDENTIFICADOR Unico) Persona * Cédula o Nombre o Dirección o Sexo o Peso PASO (2) Diseño de la Base de Datos El primer paso para crear una base de datos, es planificar el tipo de información que se quiere almacenar en la misma, teniendo en cuenta dos aspectos: la información disponible y la información que necesitamos. La planificación de la estructura de la base de datos, en particular de las tablas, es vital para la gestión efectiva de la misma. El diseño de la estructura de una tabla consiste en una descripción de cada uno de los campos que componen el registro y los valores o datos que contendrá cada uno de esos campos. Conceptos básicos de una base de datos. Una Tabla : es un medio para representar la información de manera más compacta Una tabla está formada por filas y columnas. Las filas de un archivo de base de datos son equivalentes a los registros (Vienen a ser las entidades en el paso 1) Registro: es el conjunto de información referida a una misma persona u objeto. Un registro vendría a ser algo así como una ficha. Las columnas son equivalentes a los campos (que representa los atributos de las entidades en el paso 1) Campo: unidad básica de una base de datos. Un campo puede ser, por ejemplo, el nombre de una persona. Los nombres de los campos, no pueden empezar con espacios en blanco y caracteres especiales. No pueden llevar puntos, ni signos de exclamación o corchetes. Si pueden tener espacios en blanco en el medio. La descripción de un campo, permite aclarar información referida a los nombres del campo. El tipo de campo, permite especificar el tipo de información que cargaremos en dicho campo, En acces esta puede ser: Texto: para introducir cadenas de caracteres hasta un máximo de 255 Memo: para introducir un texto extenso. Hasta 65.535 caracteres Numérico: para introducir números Fecha/Hora: para introducir datos en formato fecha u hora Moneda: para introducir datos en formato número y con el signo monetario Auto numérico: en este tipo de campo, Access numera automáticamente el contenido Sí/No: campo lógico. Este tipo de campo es sólo si queremos un contenido del tipo Sí/No, Verdadero/Falso, etc. Objeto OLE: para introducir una foto, gráfico, hoja de cálculo, sonido, etc. Hipervínculo: podemos definir un enlace a una página Web Asistente para búsquedas: crea un campo que permite elegir un valor de otra tabla o de una lista de valores mediante un cuadro de lista o un cuadro combinado. Campo clave: campo que permite identificar y localizar un registro de manera ágil y organizada. Propiedades generales de los campos: PROPIEDAD DESCRIPCIÓN TIPO DE CAMPO Tamaño del campo Permite establecer la longitud máxima de un campo Texto, numérico, contador de texto numérico. Formato Permite determinar la apariencia de presentación de Todos, excepto OLE y Memo los datos, utilizando los formatos predefinidos o nuestros propios formatos Lugares decimales Permite especificar el número de cifras decimales Numérico y moneda para mostrar los números. Máscara de entrada Permite controlar y filtrar los caracteres o valores que Texto, numérico, fecha/hora, los usuarios introducen en un control de cuadro de moneda texto, evitando errores y facilitando su escritura. Título Permite definir una etiqueta de campo Todos predeterminada para un formularios o informe Valor predeterminado Introduce en el campo un valor cuando se agregan Todos, excepto nuevos registros (long. Máx. 255 caracteres) contador OLE y Regla de validación Permite escribir la condición que deben satisfacer los Todos, excepto datos introducidos para ser aceptados contador OLE y Texto de validación Define el texto del mensaje que se visualiza cuando Todos excepto OLE y contador los datos no cumplen las condiciones enumerdas en la regla de validación Requerido Permite especificar si es necesario que exista un Todos excepto contador valor en un campo. Permitir cero Indexado longitud Permite especificar si una cadena de longitud cero Texto, memo ("") es una entrada válida para el campo Define un campo como índice o campo clave. Texto, numérico, fecha/hora. Ejemplo: Relación entre el Paso1 y Paso2. Nombre de Entidad: PERSONA Nombre Cedula Nombre del atributo Tipo de * o atributo Registros 11568845 Pedro Pérez 1258523 María Rincón 14256336 Luis A raujo Dirección Sexo Peso o o o Urb. carmona M 75 Sta. Rosa F 56 Pampanito M 85 En resumen, el principal aspecto a tener en cuenta durante el diseño de una tabla es determinar claramente los campos necesarios, definirlos en forma adecuada con un nombre especificando su tipo y su longitud. contador, EJEMPLO PRACTICO Planteamiento del PROBLEMA . Se necesita una Base de Datos que ayude a gestionar los movimientos de una empresa ficticia ”EL ABETO”, la cual se dedica alquiler de propiedades. PASO 0.- Obtener información de la Empresa acerca de: Clientes y Propiedades. PASO1. Modelado Conceptual de Datos 1.1 Definir entidades y atributos PROPIEDAD CLIENTES * Cedula(ID) o Nombre o Profesión o Tel o Sexo * CodProp(ID) * Cedula o Renta Mens(Bs) o Garaje o Tipo de Propiedad o Superficie en m2 o Dirección o Población o NumHab o Extras 1.2 Diagrama Entidad-Relacion PROPIEDAD * CodProp(ID) * Cedula CLIENTES o Renta * Cedula(ID) Mens(Bs) o Nombre o Garaje o Profesión o Tipo de o Tel Propiedad o Sexo o Superficie en m2 o Dirección o NumHab o Extras Cada Cliente puede arrendar “una ó varias” Propiedades o Fecha Cada Propiedad debe ser arrendada por “uno yContrato solo un cliente” PASO 2: Diseño de las Tablas con sus Respectivos tipos de DATOS TABLA: CLIENTES CAMPO TIPO TAMAÑO OTROS Cédula Nombre Profesión Tel Sexo Texto Texto Texto texto Texto 15 50 10 15 1 ID TABLA: PROPIEDADES CAMPO TIPO TAMAñO Cod_Propiedad Cedula Autonumerico 3 Texto 15 Renta_Mens Garaje Numerico SI/NO Entero 15 Tipo de Propiedad NumHab Fecha Contrato Extras Dirección Texto Numérico Fecha/Hota Memo Texto 15 Entero OTROS ID Campo relación de Restricc SI/NO 40 Paso 3: Utilizar Un Gestor De BD para la creación, manipulación , consulta de la BD. Crear las Tablas en Microsoft Access Crear campos, con el tipo de dato Crear las Relaciones en Acces Establecer el Campo Clave = UID Llenar las tablas : Tabla PROPIEDADES: Cod_ Cedula Propiedad Renta_Mens (Bs.) Garaje Tipo_ Propiedad Num_ Fecha Hab Contrato Extras Dirección 1 11133876 150000 NO Apartamento 2 20/12/1999 Urb Trinitaria 2 10234766 180000 SI Quinta 4 19/01/2001 Urb.Caobos 3 12345681 200000 SI Casa-Quinta 5 15/04/1998 UrbHaticos 4 11987234 198000 SI Casa 5 10/10/1997 UrbConticinio 5 12674897 150000 NO Apartamento 3 14/11/2001 Av.Independecias 6 10987876 250000 SI Quinta 6 10/01/1997 Av.Bolivar 7 14232456 150000 NO Apartamento 3 12/12/1998 Urb.Carvajal Cedula Nombre 11133876 Maria Ingeniero Vargas Pedros Medico Zambrano Luis Anzola Abogado F Roberto Daboin Ana Uzcategui Irama Pineda Jose barazarte 041677253535 0414888765 04169998876 Constructor 0256-94857 M Periodista F 10234766 12345681 11987234 12674897 10987876 14232456 Profesión Tel 02722534644 Odontologo 0271234455 Vendedor 02712344566 Sexo M M F M