Вы находитесь на странице: 1из 111

Docente: Ing. Alexis Rocha, MGTI Ingeniero en Sistemas Computacionales Magster en Gerencia de Tecnologas de la Informacin Email: alefroch22@hotmail.

com La Libertad, Santa Elena, Ecuador

Evaluacin de la Materia
Evaluacin: Exmenes Lecciones Deberes Participacin en Clase
5%

Proyecto

Talleres

50%

20%

10%

10%

5%

Bibliografa Recomendada: RIORDAN R., DISEO DE BASES DE DATOS RELACIONALES CON ACCESS Y SQL, Mc-Graw Hill, 2da. Edicin, 2000 SILBERSCHATZ Abraham, KORTH Henry, SUDARSHAN S., FUNDAMENTOS DE BASES DE DATOS, Mc-Graw Hill, 4ta. Edicin, 2002 CONNOLLY Thomas M., WESLEY Addison, SISTEMAS DE BASES DE DATOS, PearsonPrentice Hall, 1era. Edicin, 2005 CELMA M., CASAMAYOR J.C., MOTA L., BASES DE DATOS RELACIONALES, PearsonPrentice Hall, 1era. Edicin, 2003

Objetivos Generales del Curso


Una vez terminado el proceso de aprendizaje, el estudiante ser capaz de: Definir los conceptos fundamentales de un Sistema de Gestin de Bases de Datos (SGBD). Representar datos utilizando Manejadores de Bases de Datos tales como: Excel, Access y SQL Server, aplicando Modelos Relacionales. Demostrar el uso de SQL Server a travs de consultas, actualizacin, eliminacin e insercin de datos. Inducir a la investigacin de alumnos en el rea.

Unidad 1 Introduccin al Manejo de Datos


CONTENIDOS 1.1. Conceptos Bsicos de Bases de Datos. 1.2. Sistemas de Archivos frente a los Sistemas de Bases de Datos. 1.3. Sistema Manejador de Bases de Datos (SGBD). 1.4. Abstraccin de Datos. 1.5. Modelos de Datos. 1.6. Introduccin al Modelo Entidad Relacin. 1.7. Restricciones. 1.8. Claves. 1.9. Diagrama Entidad Relacin. 1.10. Ejercicios.

Definicin de Bases de Datos


Una Base de Datos es un conjunto de archivos interrelacionados entre s, almacenados en conjunto sin redundancia.
La mayora de Bases de Datos estn en formato digital (electrnico), que ofrece un amplio rango de soluciones al problema de almacenar datos.

1.1. Conceptos Bsicos de Bases de Datos

Bases de Datos en el pasado

Unidad 1 - Conceptos Bsicos de Bases de Datos

Objetivos de una BD

Almacenar informacin. Recuperar informacin. Buscar Informacin. Modificar Informacin.

Toda la informacin existente en una Base de Datos se encuentra organizada y clasificada, con la nica finalidad de poder acceder a ella cuando el usuario lo requiera.

Caractersticas de una BD
Segura: BD protegida, con restricciones de acceso. Organizada: Diseada y Modelada para almacenar datos que faciliten su bsqueda, insercin, eliminacin. Confiable: Datos reales que no cambien por sucesos externos, tan solo cuando sea necesario. Persistente: Informacin no voltil, permanente, no borrable, durable, hasta que sea estrictamente necesario. Administrable: Adaptable a cambios de estructura.

Ventajas de una BD (I)


Control sobre la redundancia de datos En los sistemas de bases de datos, todos los registros existentes deben ser ingresados una sola vez, cuando esto sucede, se dice que los datos no son redundantes.
Consistencia de datos Eliminando o controlando las redundancias de datos, se reduce en gran medida el riesgo de que haya inconsistencias, si un dato est almacenado una sola vez, cualquier modificacin o actualizacin se debe realizar slo una vez. Ms informacin sobre la misma cantidad de datos Al estar todos los datos integrados, se puede extraer informacin adicional sobre los mismos.

Ventajas de una BD (II)


Comparticin de datos Los datos existentes deben ser compartidos por varios usuarios, empresas, compaas, pases, etc.
Mantenimiento de estndares El mantenimiento debe ser normado por una Gua o Metodologa, lo cual facilitar las actividades para quienes realizarn este proceso.

Componentes de una BD
Base de Datos Contenedor o recipiente donde se guarda la informacin (nombre, permisos, tamao).
Tablas Son estructuras en forma de tablas que mantienen organizados a los datos (nombre, campos, registros). Relaciones Consiste en la vinculacin o dependencia que existen entre tablas (Cardinalidad). Registros Son verdaderamente los datos guardados almacenados en una tabla (filas en una tabla).

Metodologa para el Diseo de una BD


PASOS Recopilacin de informacin DESCRIPCIN Conocer con detalle el resultado previsto. Si va reemplazar un sistema de informacin manual o de papel, identificar las actividades repetitivas. Consultar a las personas involucradas para determinar lo que hacen y que necesitan que haga el nuevo sistema, as como los problemas, las limitaciones y los cuellos de botella del sistema existentes. Recopilar todos los documentos que formen parte del sistema existente, porque le servirn para disear la base de datos e interfaces. Establecer los campos u objetos ms importantes que vayan a ser administrados por la base de datos y constatar los elementos que estn relacionados. Cada objeto identificado de la base de datos debe tener su tabla correspondiente. Registrar los objetos de manera que representen visualmente a su contenido.

Identificar objetos

Crear modelos de los objetos Identificar tipos de objetos Identificar relaciones entre objetos

Establecer los tipos de informacin que deben almacenarse para cada elemento del objeto. Examinar las tablas para determinar sus relaciones lgicas y agregar, de ser necesario, columnas relacionales.

Conformacin para una BD


Una BD est compuesta por estructuras lgicas de almacenamiento, denominadas Tablas. Una Tabla est compuesta por Columnas o Campos y Filas o Registros. Un registro es la ocurrencia de conjunto de campos de una Tabla.

Arquitectura de una BD

Hay 3 caractersticas importantes inherentes a los sistemas de Bases de Datos: la separacin entre los Programas de Aplicacin y los Datos, el manejo de mltiples vistas por parte de los usuarios y el uso de un catlogo para almacenar el esquema de la Base de Datos. ANSI-SPARC (American National Standard Institute Standards Planning and Requirements Committee), propuso una arquitectura de 3 niveles para los Sistemas de Bases de Datos, como son: a) Nivel Interno b) Nivel Conceptual c) Nivel Externo

Nivel Interno Se describe la estructura fsica de la Base de Datos mediante un esquema interno. Este esquema se especifica mediante un modelo fsico y describe todos los detalles para el almacenamiento de la Base de Datos, as como los mtodos de acceso.

Nivel Conceptual Mediante un esquema conceptual permite ver detalles de las estructuras de almacenamiento y se concentra en describir: Entidades, Atributos, Relaciones, Operaciones de los usuarios y Restricciones. En este nivel se puede utilizar un modelo conceptual o un modelo lgico para especificar el esquema.

Nivel Externo Cada esquema externo describe la parte de la Base de Datos que interesa a un grupo de usuarios determinado y oculta a ese grupo el resto de la Base de Datos.

Sistemas de Archivos frente a los Sistemas de Bases de Datos


Sistemas basados en Archivos: Eran sistemas predecesores de los SGBD. Era una coleccin de programas de aplicacin. Cada programa define y gestiona sus datos. Tena problemas significativos: > Redundancia de datos. > Dependencia entre programas y datos.

1.2. Sistemas de Archivos frente a los Sistemas de Bases de Datos

Limitaciones de los Sistemas basados en Archivos: Separacin y aislamiento de los datos. Duplicacin de los datos. Dependencia de los datos. Formatos de archivos incompatibles. Consultas fijas. Crecimiento de programas de aplicacin.

Ejemplo: En un Banco que tiene aplicaciones basados en archivos, un cliente apertura una cuenta y luego solicita un crdito.

Sistemas de Gestin de Bases de Datos: La BD es una coleccin de datos relacionados. El SGBD es un software que gestiona y controla el acceso a la BD. Es una Aplicacin para BD, programa que interacta con Bases de Datos.

El SGBD interacta con las Aplicaciones y la BD: Compras en el supermercado. Depsito en el Banco. Reserva en un Hotel.

Sistema de Gestin de Bases de Datos (SGBD)


El DBMS (Database Management System) o SGBD es un conjunto de programas que se encargan de manejar la creacin y todos los accesos a las Bases de Datos, est compuesto por: o DDL (Data Definition Language): Lenguaje de Definicin de Datos. o DML (Data Management Language): Lenguaje de Manipulacin de Datos. o SQL (Structured Query Language): Lenguaje de Consulta Estructurado. Los DBMS ms comunes son: SQL Server, Oracle, Paradox, Informix, Posgree/SQL, Sysbase, MySQL, Access.

1.3. Sistemas de Gestin de Bases de Datos (SGBD)

Uno de los tipos ms conocidos de los DBMS son, las Bases de Datos de Modelo Relacional: se basan en el modelo relaciones, cuya estructura principal es la relacin, es decir una tabla bidimensional compuesta por columnas y filas. Cada lnea, que en terminologa relacional se llama tupla, representa una entidad que nosotros queremos memorizar en la Base de Datos. Cada entidad a su vez est conformada por Atributos o caractersticas. La Base de Datos es una coleccin de archivos interrelacionados, almacenados en conjunto sin redundancia y la DBMS es un conjunto de numerosas rutinas de software interrelacionadas, cada una de ellas es responsable de una determinada tarea.

Funciones del DBMS

El DBMS (Database Management System) o SGBD (Sistema de Gestin de Bases de Datos) tiene 2 funciones principales que son: o La definicin de las estructuras para almacenar los datos. Creacin de BD, tablas, relaciones, registros, claves, seguridades. o La manipulacin de los datos. Operaciones como: Insercin, eliminacin, modificacin, bsquedas.

Normalmente: Permite a los usuarios definir la BD mediante DDL y manipular la BD mediante DML. Proporciona acceso controlado a la BD: Proporciona un catlogo que contiene descripciones de la BD.

Caractersticas de los DBMS

Un buen DBMS debe tener las siguientes caractersticas: Versatilidad en la representacin de relaciones. Tiempo de respuesta. Redundancia mnima. Capacidad de bsqueda. Integridad. Seguridad y privacidad. Enlace con el pasado. Enlace con el futuro. Afinacin y monitoreo. Cambios en la importancia de los datos. Claridad y simplicidad.

Componentes de un entorno del SGBD

Funciones y Componentes principales de un SGBD

Ventajas del SGBD

Control de redundancia de datos. Coherencia y Comparticin de datos. Mayor integracin de datos. Mayor seguridad. Mejor accesibilidad de datos y capacidad de respuesta. Productividad mejorada. Mejora de seguridad y recuperacin.

Desventajas del SGBD

Complejidad. Tamao. Coste de SGBD. Coste de hardware adicional. Costes de conversin de hardware. Prestaciones. Mayor impacto a fallos.

Cargos vinculados a un SGBD

Administrador de Base de Datos (DBA). Administrador de Datos (DM). Diseador de Base de Datos. Usuarios Finales. Analistas de Sistemas y Programadores. Diseadores e Implementadores del SGBD. Creadores de Herramientas. Operadores y Personal de Mantenimiento.

Administrador de Base de Datos (DBA): 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, es netamente tcnico, posee experiencia en el manejo de herramientas CASE y conocimientos en herramientas para modelar datos, interacta con los programadores y con el operador del sistema. Administrador de Datos (DM, Data Management) Es netamente terico, tiene una visin global del negocio y conocimiento de herramientas CASE, interacta con los usuarios, el personal de O&M (Organizacin y Mtodos), es ideal para esta labor. Diseador de Base 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.

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. Este es el rol que ms frecuentemente desempea el Tcnico en Administracin con relacin de las Bases de Datos. Analistas de Sistemas y Programadores: Los analistas y programadores para implementar las especificaciones del sistema deben conocer a la perfeccin todas las capacidades del SGBD. El Tcnico en Administracin que integra un equipo de desarrollo interacta con los analistas y programadores.

Diseadores e Implementadores del SGBD: Se encargan de disear e implementar los mdulos e interfaces del SGBD en forma de paquetes de software. Creadores de Herramientas: Desarrollan e implementar paquetes para disear Bases de Datos, vigilar el rendimiento, proporcionar interfaces de lenguaje natural o de grficos, elaborar prototipos, realizar simulaciones y generar datos de prueba. Operadores y Personal de Mantenimiento: Tienen a su cargo el funcionamiento y mantenimiento reales del entorno de hardware y software del sistema de Base de Datos.

Aplicaciones de los DBMS


Formularios: Se emplean para introducir informacin a la Base de Datos, suelen manejar campos como: Apellidos, Nombres, Direccin, valores, nmeros telefnicos, sexo, fechas, estado civil, etc. La mayora de formularios utilizan un campo de llenado nico, el cual permite identificar o encontrar sus datos asociados a el, tambin se utilizan para que el DBMS identifique cada fila de cada tabla y se denominan claves sustitutas. Consultas: Se usan cuando los usuarios desean consultar los datos para contestar preguntas o para identificar problemas o situaciones particulares. Para expresar las consultas se puede utilizar el lenguaje SQL de acceso a los datos. En la mayora de los DBMS las consultas se pueden guardar como parte de la aplicacin, de modo que sea posible volverlas a ejecutar. Adems en las consultas se pueden especificar parmetros, lo que significa que se estructuran de forma tal que acepten valores de criterios durante su funcionamiento.

Reportes: Un reporte es la presentacin que tiene un formato de la informacin de una Base de Datos, suelen estar divididos por secciones como: Encabezado, ttulos, grupos, detalles, subtotales, totales y pie de pgina. La presentacin de la informacin casi siempre tiene uno o ms ordenamientos. Mens: Se usan para organizar los distintos componentes de la aplicacin con el propsito de que el usuario final acceda a ellos con facilidad, mostrndole las opciones disponibles y ayudndole a seleccionar las acciones que desea realizar. Programas de Aplicacin: Los programas de aplicacin vienen a ser como el pegamento que nos permite unir el resto de los componentes de manera coherente, permite realizar procesos y clculos a la aplicacin.

Abstraccin de Datos

La abstraccin de datos es la caracterstica de un sistema de Bases de Datos, que permite al usuario o programador, operar con los datos, sin necesidad de conocer detalles que para l no son de importancia, ofreciendo as una visin abstracta de estos, para cumplir con tal fin se han definido diferentes niveles de abstraccin: Nivel Fsico. Nivel Lgico o Conceptual. Nivel de Vistas.

1.4. Abstraccin de Datos

Nivel Fsico: Determina cmo estn almacenados fsicamente los datos (pistas, sectores, cilindros), representa el nivel ms bajo. Nivel Lgico o Conceptual: Determina la organizacin de los archivos (ndices, llaves, orden de los campos, relaciones, tipos de datos). Nivel de Vistas: Oculta parte de la informacin a los usuarios, es decir, hace visible solo una parte de la Base de Datos.

Modelos de Datos
Consiste en abstraer el mundo fsico a una forma lgica para poder representarlo en diagramas o esquemas compatibles con los DBMS para as poder crear una Base de Datos que ayude a almacenar informacin real. Un modelo de datos es una serie de conceptos que puede utilizarse para describir un conjunto de datos y las operaciones para manipularlos. Hay 2 tipos de modelos de datos: los modelos conceptuales y los modelos lgicos. En el diseo de Bases de Datos se usan primero los modelos conceptuales para lograr una descripcin de alto nivel de la realidad, y luego se transforma el esquema conceptual en un esquema lgico.

1.5. Modelos de Datos

Objetivos del Modelo de Datos Tener el conocimiento profundo de los datos que se van a manejar y de alguna forma agruparlos en unidades mayores que se llamarn ENTIDADES. El Modelo de Datos debe ser una fiel representacin del sistema de informacin objeto de estudio. El objetivo fundamental del Modelo de Datos es la obtencin de estructuras no redundantes, sin inconsistencias, seguras e ntegras.

Caractersticas del Modelo de Datos Debe representar el estado final al que quiere llegar el sistema. Cualquier cambio en el sistema de informacin se debe reflejar en el Modelo y viceversa. Debe contener representada toda la informacin que necesita la unidad. Representa la parte lgica de la informacin. Se dejan a un lado las restricciones del sistema en que se van a implantar los datos. Es independiente del entorno fsico y debe proporcionar a los usuarios toda la informacin requerida y en la forma en que la necesitan.

Modelos Conceptuales Los modelos conceptuales deben ser buenas herramientas para representar la realidad, por lo que deben poseer las siguientes cualidades: Expresividad: Deben tener suficientes conceptos para expresar perfectamente la realidad. Simplicidad: Deben ser simples para que los esquemas sean fciles de entender. Minimalidad: Cada concepto debe tener un significado distinto. Formalidad: Todos los conceptos deben tener una interpretacin nica, precisa y bien definida.

Definicin de Esquemas o Entidades Entidades: Cualquier tipo de objeto o concepto sobre el que se recoge informacin: cosa, persona, concepto abstracto o suceso. Por ejemplo: coches, casas, empleados, clientes, empresas, oficios, diseos de productos, conciertos, excursiones, etc.. Atributos: Los atributos representan las propiedades bsicas de las entidades o las caractersticas que hacen a la entidad diferenciarse de las dems. Claves: Son atributos que hacen que las entidades se consideren nicas entre ellos, sin la posibilidad a generar redundancia de datos.

Existen 2 tipos de claves: Clave Primaria (Primary Key - PK): Es un atributo nico que es obligatorio para toda entidad, garantiza que la informacin referente a la entidad es nica. Clave Secundaria o Fornea (Foreign Key - FK): Es un atributo que se usa para relacionar entidades.
Nombre_entidad (atributo 1, atributo 2, , atributo N)

Ejemplo: persona (cdula, apellidos, nombres, direccin, sexo, fecha_nac, ciudad) telfono (nmero, marca, modelo, operadora, color)

Introduccin al Modelo Entidad Relacin (Modelo ER)


El Modelo ER est formado por un conjunto de conceptos que permiten describir la realidad mediante un conjunto de representaciones grficas y lingsticas, originalmente, slo inclua los conceptos de Entidad, Relacin, Atributo y PK, ms adelante se aadi el concepto de Cardinalidad, es una herramienta para: Presentar ideas. Ayudar a la comprensin de los problemas. Contemplar detalles y, Predecir nuevas formas para realizar las cosas. En particular, el modelamiento Entidad Relacin es una tcnica que sirve para definir las necesidades de informacin de la organizacin, esto es: Qu realiza la organizacin, Qu informacin utiliza, Qu datos genera. En lugar de cmo lo hace.

1.6. Introduccin al Modelo Entidad Relacin

En su forma ms simple, el Modelo Entidad Relacin intenta identificar: Las cosas ms importantes de una organizacin (llamadas Entidades u Objetos). Las propiedades de esas cosas (llamadas Atributos). Y las interrelaciones entre las diversas cosas (llamadas Relaciones). Tiende a la confeccin de un modelo conceptual de datos, previo al diseo del esquema de la base de datos. Es un Modelo N-ARIO, es decir, que las relaciones pueden asociar una, dos o ms entidades, se puede hablar de Relaciones: Unitarias: Una entidad consigo misma. Binarias: Entidades relacionadas 2 a 2. Ternarias: Relacin entre 3 entidades.

Objetos y Entidades La identificacin de las Entidades es una tarea muy fcil de realizar, se puede iniciar hacindose la pregunta: Qu son cosas en este problema? Muchas de las cosas caen dentro de 5 categoras: 1) Cosas tangibles. 2) Roles. 3) Incidentes. 4) Interacciones. 5) Especificaciones. Estas categoras son un conjunto de ideas iniciales para encontrar o determinar Objetos o Entidades.

Objetos y Entidades -> Cosas Tangibles Los objetos tangibles son los ms fciles de ubicar, pues son cosas que pueden ser vistas o tocadas, por ejemplo: Autos, Materiales, Construcciones, Mquinas, etc.

Objetos y Entidades -> Roles Los objetos rol o roles, son aquellas actividades realizadas por personas u organizaciones, por ejemplo: Paciente, Doctor, Cliente, Empleado, Propietario, Arrendatario, Distribuidor, Contribuyente, etc. Frecuentemente, si se ubica un objeto rol, es muy posible que se puedan ubicar otros objetos rol, inclusive, a veces, jugados por las mismas personas; tal el caso de empleados que se pueden convertir en clientes, o mdicos en pacientes.

Objetos y Entidades -> Incidentes Los objetos incidentes son usados para representar una ocurrencia o un evento, algo que ha sucedido en un tiempo especfico, por ejemplo: Vuelo, Accidente, Juego, Llamada, Cada del sistema, Apagn, etc.

Objetos y Entidades -> Interaccin Los objetos interaccin generalmente tienen una cualidad de transaccin o de contrato entre varios objetos, por ejemplo: Una compra (que relaciona comprador, vendedor y objeto comprado), Un matrimonio (que relaciona al hombre y a la mujer. Estos objetos tambin pueden ser encontrados cuando se modelan sistemas geomtricos o topolgicos como una red elctrica, un oleoducto, etc.

Objetos y Entidades -> Especificaciones Finalmente los objetos de especificacin que frecuentemente muestran catlogos o inventarios y tienen la calidad de estndares o definiciones, por ejemplo: Modelo de televisor, Catlogo de cuentas contables, Frmula de insumo, etc. En general, puede considerarse una regla que cuando se tienen objetos de especificacin, se tendr otro objeto que contiene las instancias reales de la especificacin, estas instancias no necesariamente estarn en un objeto tangible, por ejemplo: tipos de prstamo y prestamos concedidos.

Restricciones
Una restriccin es una condicin que obliga el cumplimiento de ciertas condiciones en una Base de Datos, algunas no son determinadas por los usuarios, sino que son inherentemente definidas por el simple hecho de que la Base de Datos sea relacional. Algunas otras restricciones las puede definir el usuario, por ejemplo, usar un campo con valores enteros entre 1 y 10. Inherentes: Son aquellas que no son determinadas por los usuarios, sino que son definidas por el hecho de que la base de datos sea relacional. Las ms importantes son: No puede haber dos tablas iguales. El orden de las tablas no es significativo. El orden de los atributos no es significativo. Cada atributo slo puede tomar un valor en el dominio en el que est inscrito.

1.7. Restricciones

Tipos de Restricciones
Existen 4 tipos de restricciones: Restricciones de Valores Nulos. Restricciones de Llave. Restricciones de Dominio. Restricciones de Asercin. Restricciones de Valores Nulos: Si muchos de los tributos no se aplican a todas las tuplas de la relacin, es decir, son nulos, se acabar con un gran nmero de nulos en esas tuplas. Esto puede originar un considerable desperdicio en el nivel de almacenamiento y posiblemente dificultar el entendimiento del significado de los atributos y la especificacin de operaciones de reunin con en el nivel lgico.

Restricciones de Llave: Esta restriccin, es una de las restricciones estndar que con frecuencia aparecen en las aplicaciones de bases de datos. Estas restricciones se manejan de formas ligeramente distintas en los diversos modelos de datos. En el modelo E-R, una clave es un atributo de un tipo de entidades que debe tener un valor nico para cada entidad que pertenezca a dicho tipo en cualquier momento especfico. As el valor del atributo clave puede servir para identificar de manera nica cada entidad. Los atributos claves deben ser mono valuados, pero pueden ser simples o compuestos. Un tipo de entidades normal puede tener una o ms claves; un tipo de entidades dbil no tiene clave, pero casi siempre tiene una clave parcial cuyos valores identifican de manera nica las entidades dbiles que estn relacionadas a la misma entidad propietario a travs de un vnculo identificador.

Restricciones de Dominio: Las restricciones de dominio especifican que el valor de cada atributo A debe ser un valor atmico del dominio Dom(A) para ese atributo. Los tipos de datos asociados a los dominios por lo general incluyen: * Datos Numricos Estndar de los nmeros Enteros (como Entero- Corto, Entero, Entero-Largo), * Datos Numricos Reales (Flotante y Flotante de Doble Precisin). * Caracteres, * Cadenas de longitud fija, y * Cadenas de longitud variable, as como * Tipos de datos de fecha, * Hora, * Marca de Tiempo y * Dinero. Otros dominios posibles se pueden describir mediante un intervalo de valores de un tipo de datos o como un tipo de datos enumerado en el que se listan explcitamente todos los valores posibles.

Restricciones de Asercin: Una tcnica ms formal para representar restricciones explcitas es con un lenguaje de especificacin de restricciones, que suele basarse en alguna variacin del clculo relacional. Este enfoque declarativo establece una separacin clara entre la base de restricciones (en la que las restricciones se almacenan en una forma codificada apropiada) y el subsistema de control de integridad del SGBD (que tiene acceso a la base de restricciones para aplicar estas ltimas correctamente a las transacciones afectadas). Cuando se usa esta tcnica, las restricciones suelen llamarse aserciones . Se ha sugerido el uso de esta estrategia con SGBD relacinales. El subsistema de control de integridad compila las aserciones, que entonces se almacenan en el catalogo del SGBD, donde el subsistema de control de integridad puede consultarlas e imponerlas automticamente. Esta estrategia es muy atractiva desde el punto de vista de los usuarios y programadores por su flexibilidad.

Dominios
Un dominio describe un conjunto de posibles valores para ciertos atributos. Como un dominio restringe los valores del atributo, puede ser considerado como una restriccin. Matemticamente, atribuir un dominio a un atributo significa "todos los valores de este atributo deben de ser elementos del conjunto especificado". Distintos tipos de dominios son: Enteros, Cadenas de texto, Fechas, etc.

Claves
CLAVE NICA: Cada tabla puede tener uno o ms campos cuyos valores identifican de forma nica cada registro de dicha tabla, es decir, no pueden existir dos o ms registros diferentes cuyos valores en dichos campos sean idnticos. Este conjunto de campos se llama clave nica. Pueden existir varias claves nicas en una determinada tabla, y a cada una de stas suele llamrsele candidata a clave primaria. Clave Primaria: Una clave primaria es una clave nica elegida entre todas las candidatas que define unvocamente a todos los dems atributos de la tabla, para especificar los datos que sern relacionados con las dems tablas. La forma de hacer esto es por medio de claves forneas. Slo puede existir una clave primaria por tabla y ningn campo de dicha clave puede contener valores NULL.

1.8. Claves

Clave Secundaria: Una clave fornea es una referencia a una clave en otra tabla, determina la relacin existente en dos tablas. Las claves forneas no necesitan ser claves nicas en la tabla donde estn y s a donde estn referenciadas. Por ejemplo, el cdigo de departamento puede ser una clave fornea en la tabla de empleados. Se permite que haya varios empleados en un mismo departamento, pero habr uno y slo un departamento por cada clave distinta de departamento en la tabla de empleados.

CLAVE NDICE: Las claves ndice surgen con la necesidad de tener un acceso ms rpido a los datos. Los ndices pueden ser creados con cualquier combinacin de campos de una tabla. Las consultas que filtran registros por medio de estos campos, pueden encontrar los registros de forma no secuencial usando la clave ndice. Las bases de datos relacionales incluyen mltiples tcnicas de ordenamiento, cada una de ellas es ptima para cierta distribucin de datos y tamao de la relacin. Los ndices generalmente no se consideran parte de la base de datos, pues son un detalle agregado. Sin embargo, las claves ndices son desarrolladas por el mismo grupo de programadores que las otras partes de la base de datos. http://es.wikipedia.org/wiki/Base_de_datos_relacional

Diagrama Entidad - Relacin


El modelo Entidad Relacin (ER) est formado por un conjunto de conceptos que permiten describir la realidad mediante un conjunto de representaciones grficas y lingsticas. Originalmente, el modelo ER solo inclua los conceptos de Entidad, Relacin, Atributo y PK (Primary Key). Ms tarde, se aadieron otros conceptos, como Cardinalidad. Entidad Atributos Relaciones
Permite interrelacionar entidades, suelen llevar un nombre que consiste un verbo, la idea es formar verdaderas oraciones de dependencia.

Clave Principal (PK Primary Key)

1.9. Diagrama Entidad - Relacin

CARDINALIDAD Consiste en la dependencia que tienen las entidades entre s, tambin se refiere a que entidad es ms relevante que las dems. Tenemos 3 tipos de Cardinalidades: 1 : 1 (Uno a Uno) 1 : M (Uno a Muchos) M : N (Muchos a Muchos)

Cardinalidad de 1 -> 1 Un elemento del conjunto A le pertenece a un elemento del conjunto B y un elemento del conjunto B le pertenece a un elemento del conjunto A.

Cardinalidad de 1 -> M (M -> 1) Un elemento del conjunto A le pertenece a varios elementos del conjunto B y un elemento del conjunto B le pertenece tan solo a un elemento del conjunto A. Varios elementos del conjunto A le pertenecen a un elemento del conjunto B y un elemento del conjunto B le pertenece tan solo a un elemento del conjunto A.

Cardinalidad de M -> N Varios elementos del conjunto A le pertenecen a un elemento del conjunto B y varios elementos del conjunto B le pertenecen tan solo a un elemento del conjunto A.

Ejemplos de Relaciones que expresan Cardinalidad: Cada esposo (entidad) est casado (relacin) con una nica esposa (entidad) y viceversa. Es una relacin 1:1 Una factura (entidad) se emite (relacin) a una persona (entidad) y slo una, pero una persona puede tener varias facturas emitidas a su nombre. Todas las facturas se emiten a nombre de alguien. Es una relacin 1:M Un cliente (entidad) puede comprar (relacin) varios artculos (entidad) y un artculo puede ser comprado por varios clientes distintos. Es una relacin M:N

Ejemplo: Venta de Celulares persona (cdula, apellido, nombre, direccin, sexo, fecha_nac) telfono (nmero, marca, modelo, operadora, color)

Pasos para la Elaboracin del Diagrama Entidad Relacin (DER) 1) Se parte de una descripcin textual del problema o sistema de informacin a automatizar (los requisitos). 2) Se hace una lista de los sustantivos y verbos que aparecen. 3) Los sustantivos son posibles entidades o atributos (definicin de esquemas). 4) Los verbos son posibles relaciones. 5) Analizando las frases, se determina la Cardinalidad de las relaciones y otros detalles. 6) Se elabora el diagrama (o diagramas) Entidad Relacin. 7) Se completa el modelo con listas de atributos y una descripcin de otras restricciones que no se pueden reflejar en el diagrama.

Modelo Relacional Diagrama Fsico

Reglas del Modelo Relacional (1) Toda tabla debe tener Clave Primaria o Principal (PK). Una tabla Padre deber tener una sola (PK). Una tabla Hija puede tener una o varias Claves Forneas (FK). Una tabla Hija puede tener una (PK) y una o varias (FK) al mismo tiempo. Una tabla Padre puede tener varias tablas Hijas. Una tabla Hija puede tener varias tablas Hijas. Una tabla Hija puede tener varias tablas Padres.

Reglas del Modelo Relacional (2) Las entidades se convierten en Tablas. Los atributos se convierten en Filas de la Tabla. Identificamos las Claves Principales (PK) de toda tabla existente. Identificamos las Tablas que poseen Claves Forneas (FK) .. Tablas Hijas. Relacionamos entre las Tablas Padres y Tablas Hijas. Escogemos la Cardinalidad existente entre las Tablas.

Ejercicios
Problema: Importadora Gnesis se dedica a la importacin de: Frutas, Vegetales y Especias, para la comercializacin al por mayor y menor en las principales ciudades del pas donde tiene sus sucursales. Los productos los trae de varias partes del mundo, as el ajo lo trae de la China, las frutas de Estados Unidos, Chile, etc., todos sus Proveedores son del exterior. Sus importaciones pueden estar constituidas por varios contenedores, los mismos que traen un solo producto. Cada sucursal puede tener ms de una bodega, las mismas que para un mejor almacenamiento disponen de varias cmaras de enfriamiento. En todas las bodegas existe un bodeguero responsable al igual que existe un jefe de estos para controlar toda la sucursal. Se pide: Construya un modelo E/R para un sistema para el inventario, es decir, su almacenamiento, distribucin, costeo y administracin. Basndose exclusivamente en los supuestos dados al inicio.

1.10. Ejercicios

Unidad 2 Modelo Relacional


CONTENIDOS 2.1. Estructura de las Bases de Datos Relacionales. 2.2. Esquema de la Base de Datos. 2.3. Diagrama de Esquemas. 2.4. Lenguajes de Consultas. 2.5. Algebra Relacional.

Estructura de las Bases de Datos Relacionales


Bases de Datos Relacionales En una computadora existen diferentes formas de almacenar informacin. Esto da lugar a distintos modelos de organizacin de la base de datos: jerrquico, red, relacional y orientada a objetos. Los sistemas relacionales son importantes porque ofrecen muchos tipos de procesos de datos, como: simplicidad y generalidad, facilidad de uso para el usuario final, perodos cortos de aprendizaje y las consultas de informacin se especifican de forma sencilla. Las tablas son un medio de representar la informacin de una forma ms compacta y es posible acceder a la informacin contenida en 2 o ms tablas.

2.1. Estructura de las Bases de Datos Relacionales

Las bases de datos relacionales estn constituidas por una o ms tablas que contienen la informacin ordenada de una forma organizada. Cumplen las siguientes leyes bsicas: Generalmente, contendrn muchas tablas. Una tabla slo contiene un nmero 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. Para cada campo existe un conjunto de valores posibles.

Diseo de las Bases de Datos Relacionales


El primer paso para crear una base de datos, es planificar el tipo de informacin que se quiere almacenar en la misma, teniendo en cuenta 2 aspectos: la informacin disponible y la informacin que necesitamos. La planificacin de la estructura de la base de datos, en particular de las tablas, es vital para la gestin efectiva de la misma. El diseo de la estructura de una tabla consiste en una descripcin de cada uno de los campos que componen el registro y los valores o datos que contendr cada uno de esos campos. Los campos son los distintos tipos de datos que componen la tabla, por ejemplo: nombre, apellido, domicilio. La definicin de un campo requiere: el nombre del campo, el tipo de campo, el ancho del campo, etc.

Diseo de las Bases de Datos Relacionales


Los registros constituyen la informacin que va contenida en los campos de la tabla, por ejemplo: el nombre del paciente, el apellido del paciente y la direccin de este. Generalmente, los diferentes tipos de campos que se pueden almacenar son los siguientes: Texto (caracteres), Numrico (nmeros), Fecha/Hora, Lgico (informaciones lgicas si/no, verdadero/falso, etc., imgenes. En resumen, el principal aspecto a tener en cuenta durante el diseo de una tabla es determinar claramente los campos necesarios, definirlos en forma adecuada con un nombre especificando su tipo y su longitud.

Estructura de las Bases de Datos Relacionales (Modelo Relacional)


La ventaja del modelo relacional es que los datos se almacenan, de un modo en que los usuarios entienden con mayor facilidad. Los datos se almacenan como tablas y las relaciones entre las filas y las tablas son visibles en los datos. Este enfoque permite a los usuarios obtener informacin de la base de datos sin asistencia de sistemas profesionales de administracin de informacin.

Las caractersticas ms importantes de los modelos relacionales son: Es importante saber que las entradas en la tabla tienen un solo valor (son atmicos); no se admiten valores mltiples, por lo tanto la interseccin de un rengln con una columna tiene un solo valor, nunca un conjunto de valores. Todas las entradas de cualquier columna son de un solo tipo. Por ejemplo, una columna puede contener nombres de clientes, y en otra puede tener fechas de nacimiento. Cada columna posee un nombre nico, el orden de las comunas no es de importancia para la tabla, las columnas de una tabla se conocen como atributos. Cada atributo tiene un dominio, que es una descripcin fsica y lgica de valores permitidos. No existen 2 filas en la tabla que sean idnticas. La informacin en las bases de datos son representados como datos explcitos, no existen apuntadores o ligas entre las tablas.

En el enfoque relacional es sustancialmente distinto de otros enfoques en trminos de sus estructuras lgicas y del modo de las operaciones de entrada/salida. En el enfoque relacional, los datos se organizan en tablas llamadas relaciones, cada una de las cuales se implanta como un archivo. En terminologa relacional una fila en una relacin representa un registro o una entidad; Cada columna en una relacin representa un campo o un atributo. As, una relacin se compone de una coleccin de entidades(o registros) cuyos propietarios estn descritos por cierto nmero de atributos predeterminados implantados como campos.

Estructura de las Bases de Datos Relacionales


Estructura de las Bases de Datos Relacionales La arquitectura relacional se puede expresar en trminos de tres niveles de abstraccin: Nivel Interno, Conceptual y de Visin. La arquitectura relacional consta de los siguientes componentes: 1) Modelo Relacional de Datos. 2) Submodelo de Datos. 3) Esquema de Almacenamiento. 4) Sublenguaje de Datos.

1) Modelo Relacional de Datos: En el nivel conceptual, el modelo relacional de datos est representado por una coleccin de relaciones almacenadas. Cada registro de tipo conceptual en un modelo relacional de datos se implanta como un archivo almacenado distinto. 2) Submodelo de Datos: Los esquemas externos de un sistema relacional se llaman submodelos relacionales de datos; cada uno consta de uno a ms escenarios (vistas) para describir los datos requeridos por una aplicacin dada. Un escenario puede incluir datos de una o ms tablas de datos. Cada programa de aplicacin est provisto de un buffer ("rea de trabajo de usuario") donde el DBMS puede depositar los datos recuperados de la base para su procesamiento, o puede guardar temporalmente sus salidas antes de que el DBMS las escriba en la base de datos.

3) Esquema de Almacenamiento: En el nivel interno, cada tabla base se implanta como un archivo almacenado. Para las recuperaciones sobre las claves principal o secundaria se pueden establecer uno o ms ndices para accesar un archivo almacenado. 4) Sublenguaje de Datos: Es un lenguaje de manejo de datos para el sistema relacional, el lgebra relacional y clculo relacional, ambos lenguajes son "relacionalmente completos", esto es, cualquier relacin que pueda derivarse de una o ms tablas de datos, tambin se puede derivar con u solo comando del sublenguaje. Por tanto, el modo de operacin de entrada/Salida en un sistema relacional se puede procesar en la forma: una tabla a la vez en lugar de: un registro a la vez; en otras palabras, se puede recuperar una tabla en vez de un solo registro con la ejecucin de un comando del sublenguaje de datos.

Convencionalismos
Los nombres de relaciones siempre van en minsculas. Cada tupla se puede representar por una variable de tupla. Cada atributo se representa por su nombre. Cardinalidad = Nmero de tuplas de una relacin. Grado = Nmero de atributos de la relacin. Cada atributo puede tomar valores dentro de su dominio de atributo (conjunto de valores posibles) Esquema = Definicin global y general de una relacin. El esquema de una relacin se representa en letras maysculas: r(R) donde r sera el nombre de la relacin y R el nombre del esquema. Formato de un Esquema: Nomb_Esquema = (lista de atributos con sus dominios) Ejemplo: Alumnos = (dni: dom_dni; nombre: dom_nombre; edad: dom_edad) Observe que la primera letra de Alumnos es mayscula (es un esquema) Instancia de una relacin = Informacin que contiene una relacin en un momento determinado.

Esquema de la Base de Datos


El esquema de una base de datos (en ingls, Database Schema) describe la estructura de una Base de Datos, en un lenguaje formal soportado por un Sistema Administrador de Base de Datos (DBMS). En una Base de Datos Relacional, el Esquema define sus tablas, sus campos en cada tabla y las relaciones entre cada campo y cada tabla. El esquema es generalmente almacenado en un Diccionario de Datos. Aunque generalmente el esquema es definido en un lenguaje de Base de Datos, el trmino se usa a menudo para referirse a una representacin grfica de la estructura de una Base de Datos.

2.2. Esquema de la Base de Datos

Niveles de Esquema de una Base de Datos


Esquema Conceptual, un mapa de conceptos y sus relaciones.

Esquema Lgico, un mapa de las entidades, sus atributos y las relaciones.


Esquema Fsico, una aplicacin de un esquema lgico. Esquema Objeto, Base de datos Oracle Objeto.

Ejercicio Prctico en SQL


Crear un Esquema de Base de Datos (Ejemplo Prctico en SQL)

Revisar otro ejemplo en la Web: http://dibosa.wordpress.com/articulos/esquema-de-la-base-de-datos/

Diagrama de Esquemas
El esquema de una base de datos (en ingls, Database Schema) describe la estructura de una Base de datos, en un lenguaje formal soportado por un Sistema administrador de Base de datos (DBMS). En una Base de datos Relacional, el Esquema define sus tablas, sus campos en cada tabla y las relaciones entre cada campo y cada tabla. El esquema es generalmente almacenado en un Diccionario de Datos. Aunque generalmente el esquema es definido en un lenguaje de Base de datos, el trmino se usa a menudo para referirse a una representacin grfica de la estructura de base de datos.

2.3. Diagrama de Esquemas

Lenguajes de Consulta
Un lenguaje de consulta es un lenguaje informtico usado para hacer consultas en Bases de Datos y Sistemas de Informacin, est compuesto por: COMANDOS Comandos DDL (Data Definition Language Lenguaje de Definicin de Datos) Comandos DML (Data Management Language Lenguaje de Manipulacin de Datos) Comandos o Clusulas SQL (Para realizar Querys o consultas a la Base de Datos) CLUSULAS OPERADORES FUNCIONES DE AGREGADO

2.4. Lenguajes de Consulta

Comandos DDL

Comandos DDL (Ejemplos 1)


CREATE: Usado para crear Bases de Datos y/o Tablas. create database DB_Ejemplo; create table TB_PRODUCTO ( PRO_Codigo int(4) auto_increment, PRO_Detalle varchar(40), PRO_FechaCaducidad datetime, PRO_Precio decimal(5,2), PRO_Estado enum(<A>,<I>), Primary Key(PRO_Codigo) ); DROP: Usado para eliminar Bases de Datos y/o Tablas. drop database DB_Ejemplo; drop table TB_PRODUCTO;

Comandos DDL (Ejemplos 2)


ALTER: Usado para modificar la estructura de una Tabla. alter table TB_PRODUCTO add PRO_Stock numeric(5);

Comandos DML

Comandos DML (Ejemplos 1)


SELECT: Selecciona todos o ciertas columnas de una Tabla. select *from TB_PRODUCTO; select PRO_Codigo, PRO_Precio from TB_PRODUCTO; INSERT: Usado para insertar registros en una Tabla. insert TB_PRODUCTO values ("1", "Galletas", "12-05-2012 8:10:25", "2,5", "A");

UPDATE: Usado para actualizar o modificar registros de una Tabla. update TB_PRODUCTO set PRO_Detalle = Sardinas' where PRO_Codigo = 1';
DELETE: Usado para eliminar datos o registros de una Tabla. delete from TB_PRODUCTO where PRO_Codigo = 1';

Clusulas SQL

Clusulas SQL (Ejemplos 1)


FROM: Especifica la Tabla o los Campos, de la cual se van a seleccionar los registros. * select *from TB_PRODUCTO; * select PRO_Detalle, PRO_FechaCaducidad from TB_PRODUCTO; WHERE: Especifica las condiciones que deben reunir los registros que se van a seleccionar. * select *from TB_PRODUCTO where PRO_Detalle = Sardinas'; * select PRO_Codigo, PRO_Precio from TB_PRODUCTO where PRO_Precio = 2,5'; GROUP BY: Usado para agrupar todos los registros de la Tabla o de una columna. * select *from TB_PRODUCTO group by PRO_Detalle; * select PRO_Detalle, PRO_FechaCaducidad from TB_PRODUCTO group by PRO_Detalle asc;

Clusulas SQL (Ejemplos 2)


HAVING: Expresa la condicin para satisfacer cada grupo. * select PRO_Detalle, MAX(PRO_Precio) from TB_PRODUCTO group by PRO_Detalle having MAX(PRO_Precio) > 2; ORDER BY: Usado para ordenar todos los registros de la Tabla o de una columna. * select *from TB_PRODUCTO order by PRO_Detalle; * select PRO_Detalle, PRO_FechaCaducidad from TB_PRODUCTO order by PRO_Detalle desc;

Operadores (Lgicos y Relacionales)

Operadores Lgicos
AND (Y, &&): Y lgico, evala 2 condiciones y devuelve un valor verdadero si ambas condiciones son verdaderas. select 1 AND 0, 1 AND NULL, 0 AND NULL, 1 AND 0 AND 1; OR (O, ll): O lgico, evala 2 condiciones y devuelve un valor falso si ambas condiciones son falsas. select 1 OR 0, 1 OR NULL, 0 OR NULL, 1 OR 0 OR 1;

NOT (NO, ~): NO Lgico, Negacin, devuelve un valor negado. select NOT 0, NOT 1, NOT NULL;

Operadores Relacionales
<: Menor que. select *from TB_PRODUCTO where PRO_Precio < 1,5; >: Mayor que. select *from TB_PRODUCTO where PRO_Codigo > 2; <>: Distinto de. select *from TB_PRODUCTO where PRO_Detalle <> "Sardinas"; <=: Menor o igual que. select *from TB_PRODUCTO where PRO_Codigo <= " 5"; >=: Mayor o igual que. select *from TB_PRODUCTO where PRO_Codigo >= " 3"; BETWEEN: Especifica un rango o intervalo de valores. select *from TB_PRODUCTO where PRO_Codigo BETWEEN 2 AND 5;

LIKE: Utilizado en la comparacin de valores o cadenas. select *from TB_PRODUCTO where PRO_Detalle LIKE "G_%";
IN: Especifica registros de una Tabla. select *from TB_PRODUCTO where PRO_Codigo IN (1111, 5555, 7777);

Funciones de Agregado

Funciones de Agregado (Ejemplos 1)


AVG: Permite calcular el promedio de un rango de valores de un Campo (columna). select AVG(PRO_Precio) from TB_PRODUCTO; COUNT: Usado para contar todos los registros de una Tabla o de una columna. * select COUNT(*) from TB_PRODUCTO; * select COUNT(PRO_Detalle) from TB_PRODUCTO; SUM: Permite calcular la suma de un rango de valores de una columna. select SUM(PRO_Precio) from TB_PRODUCTO; MAX: Usado para calcular el valor mximo de una columna. select MAX(PRO_Precio) from TB_PRODUCTO; MIN: Usado para calcular el valor mnimo de una columna. select MIN(PRO_Precio) from TB_PRODUCTO;

Algebra Relacional
El lgebra relacional es un conjunto de operaciones que describen paso a paso como computar una respuesta sobre las relaciones, tal y como stas son definidas en el modelo relacional. Denominada de tipo procedimental, a diferencia del Clculo Relacional que es de tipo declarativo. Describe el aspecto de la manipulacin de datos. Estas operaciones se usan como una representacin intermedia de una consulta a una base de datos y, debido a sus propiedades algebraicas, sirven para obtener una versin ms optimizada y eficiente de dicha consulta. Revisar en la Web: http://es.wikipedia.org/wiki/%C3%81lgebra_relacional

2.5. Algebra Relacional

MySQL Web
Cursos e Informacin Online de MySQL: http://www.mysql.com http://www.mysqlya.com.ar http://www.mysql.conclase.net http://www.forosdelweb.com http://www.lawebdelprogramador.com http://www.maestrosdelweb.com http://www.tutorialspoint.com/mysql/mysql-in-clause.htm

Вам также может понравиться