Este documento presenta la Unidad 3 sobre la Implementación de Bases de Datos. La unidad explica conceptos clave como el álgebra relacional y el cálculo relacional, los cuales son lenguajes formales que permiten extraer información de bases de datos. También cubre temas como la implementación del modelo relacional, el uso de lenguajes de consultas como SQL, y la organización física de sistemas de bases de datos. El objetivo es que los estudiantes aprendan a implementar bases de datos y realizar consultas para administrar información.
Este documento presenta la Unidad 3 sobre la Implementación de Bases de Datos. La unidad explica conceptos clave como el álgebra relacional y el cálculo relacional, los cuales son lenguajes formales que permiten extraer información de bases de datos. También cubre temas como la implementación del modelo relacional, el uso de lenguajes de consultas como SQL, y la organización física de sistemas de bases de datos. El objetivo es que los estudiantes aprendan a implementar bases de datos y realizar consultas para administrar información.
Este documento presenta la Unidad 3 sobre la Implementación de Bases de Datos. La unidad explica conceptos clave como el álgebra relacional y el cálculo relacional, los cuales son lenguajes formales que permiten extraer información de bases de datos. También cubre temas como la implementación del modelo relacional, el uso de lenguajes de consultas como SQL, y la organización física de sistemas de bases de datos. El objetivo es que los estudiantes aprendan a implementar bases de datos y realizar consultas para administrar información.
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 1
Programa de la asignatura Diseo de Base de Datos
Clave 150920519 Unidad 3. Implementacin de Bases de datos
Clave: 150920519
Universidad Abierta y a Distancia de Mxico
Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 2 ndice Unidad 3. Implementacin de bases de datos 3.1. El lgebra y el clculo relacional 3.1.1. Una ventaja revolucionaria en la manipulacin de datos 3.1.2. lgebra relacional 3.1.3. Clculo relacional 3.1.4. La dificultad relativa del lgebra relacional y el clculo relacional Actividad 1. Problemas de algebra y clculo 3.2 Implementacin Relacional 3.2.1. Modelo Relacional 3.2.2. Definicin de tablas y esquemas 3.2.3. Manipulacin de datos 3.2.4. Definicin de vistas Actividad 2. Relacional- Grficos 3.3 Implementacin relacional con lenguaje de consulta grficos 3.3.1. Definicin del lenguaje de consultas 3.3.2. Manipulacin de datos. 3.3.3. Definicin y entrada de datos 3.4 Sistemas de bases de datos cliente/servidor 3.4.1. Conceptos de cliente/servidor 3.4.2. Base de datos servidor. 3.4.3. Manipulacin y programacin del servidor de datos 3.5 Organizacin fsica de los sistemas de base de datos 3.5.1 Organizacin fsica de los sistemas de base de datos 3.5.2. Acceso fsico a la base de datos. 3.5.3. Formas de almacenamiento secundario 3.5.4. Factores de rendimiento del disco 3.5.5. Formatos de almacenamiento de datos en disco 3.5.6. Organizacin de archivos y mtodos de direccionamiento 3.5.7. Correspondencia entre estructuras de datos lgicas y estructuras de datos fsica Actividad 3. Cliente-Servidor-datos Autorreflexiones Cierre de la unidad Para saber ms Fuentes de consulta
Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 3
Unidad 3.Implementacin de bases de datos
Presentacin de la unidad
En este tramo final de la asignatura de Diseo de Bases de Datos iniciars tu aprendizaje con temas de gran inters, tales como el lgebra relacional, que se refiere a operadores que en ella se utilizan para la mejor administracin de las bases de datos, y el clculo relacional, equivalente al lgebra relacional, pero basado ms en la lgica.
Durante la unidad recordars un poco de lo referente al modelo relacional, y aunado a ello, aprenders a implementarlo una vez que conozcas la definicin de tuplas y esquemas. Otro punto de suma importancia es el conocer cmo crear bases de datos y cmo realizar consultas en ellas a travs del uso de comandos de SQL, los cuales ayudarn a determinar si tu base de datos es til para satisfacer las peticiones formuladas por el usuario. Finalmente, conocers los dispositivos de almacenamientos ms comunes y tiles para guardar o respaldar bases de datos. Propsito
Los propsitos de esta unidad son:
Comprender los operadores del lgebra relacional y las operaciones lgicas del clculo relacional necesarias para complementar las bases de datos.
Sobre la base del modelo relacional implementado, realizar bases de datos y consultas de las mismas mediante el uso de comandos SQL, tomando en cuenta los dispositivos de almacenamiento necesarios para el resguardo de las bases de datos.
Competencia especfica
Implementar bases de datos para administrar informacin de un caso especfico mediante el uso de los diferentes modelos de manipulacin de bases de datos.
Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 4 3.1 El lgebra y el clculo relacional.
Al estudiar las unidades anteriores te has dado cuenta que es muy importante contar con bases de datos (BD) para organizar la informacin y cul es la forma adecuada de generar las bases de datos, adems de ello es de suma importancia que conozcas la formas apropiadas para obtener la informacin de dichas BD, pues aunque la informacin se encuentre almacenada, a veces resulta necesario consultar datos especficos.
Primero es importante considerar que una base de datos es un conjunto de informacin que se encuentra organizada en forma de tablas, pero de nada sirve tener esta informacin si no se le puede consultar o extraer los datos que se necesitan, aunque estos se encuentren en diferentes tablas.
Para poder obtener o consultar datos de una BD, en la actualidad existen lenguajes de programacin llamados de consultas, los cuales vers a detalle ms adelante, estos lenguajes se fundan en la combinacin de diferentes tablas conocidas como relaciones.
Es importante que conozcas de forma sencilla qu es el algebra relacional y que es el clculo relacional, as como la diferencia que hay entre ellos. Dichas definiciones se muestran a continuacin:
El lgebra relacional muestra paso a paso cmo se obtiene informacin a partir de tablas relacionadas, por tal motivo se le conoce como de tipo procedimental; mientras que el clculo relacional indica lo que se quiere saber, pero no muestra cmo es posible obtenerlo, y por tal motivo se le denomina de tipo declarativo.
Para entender un poco ms lo referente al lgebra relacional, lee las siguientes definiciones:
Operandos: son los valores asignados. Operadores: que entienden como los procedimientos que generan nuevos operandos o valores.
Para aplicar estos conceptos recuerda que una base de datos se forma de tablas relacionadas entre s, de manera que a los operadores del lgebra son a los que en lgebra relacional se les denomina relaciones.
Entonces para comprender qu es el algebra relacional, es vlido describirla como el conjunto de operaciones que se aplican sobre relaciones en una BD.
Con todo lo descrito anteriormente podemos resumir que:
lgebra relacional: es un lenguaje procedimental, es decir, se indica qu y cmo. Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 5 Clculo relacional: es un lenguaje que no es procedimental, se indica qu, pero no cmo obtenerlo.
A continuacin se muestran algunos ejemplos de lenguajes de consulta que se basan en el lgebra relacional y clculo relacional para la obtencin de dichos datos, son los siguientes: El SQL (StructuredQueryLanguaje), este lenguaje est basado en el lgebra relacional. El QBE (QuerybyeExample), este lenguaje est basado en el clculo relacional.
Las definiciones vistas en este tema sobre lgebra y clculo relacional, son el punto de partida para que en las siguientes unidades puedas comprender la funcionalidad que tienen al momento de consultar datos de una BD, y ms an: cmo se expresan o se generan para para ser interpretadas por los lenguajes de consultas como SQL y QEB. 3.1.1 Una ventaja revolucionaria en la manipulacin de datos.
Imagina una empresa grande, cualquiera de ellas maneja enormes volmenes de informacin, adems de que sta tiene que organizarse con la finalidad, como mencion anteriormente, de poder consultar datos especficos, por ejemplo:
Un banco: cuntos clientes tiene, en cuntos lugares del pas y del extranjero, con una o varias cuentas, con uno o miles de movimientos cada una de ellas, o quiz solo interesa saber cunto qued a deber el mes de junio del ao pasado.
O a lo mejor resulta que ese cliente que ya existe desea abrir una cuenta ms de crdito a su nombre, pero desea que se agrupe con sus otras cuentas para conservar sus antecedentes.
Hoy en da la existencia de lenguajes de manipulacin de datos DML (Data ManipulationLanguage) permite realizar acciones tales como: consultas, modificacin e insercin de datos en un conjunto de informacin comnmente llamado base de datos.
Las consultas forman la parte ms importante dentro de la manipulacin de datos, ya que existe gran variedad de informacin almacenada en distintas tablas dentro de la base de datos, la principal funcin de una consulta es extraer la informacin y la posible relacin que existe con otros datos.
Gracias a lenguajes tales como el DML, se tiene una gran ventaja que vino a revolucionar la manera de manipular la informacin , simplificando y haciendo la tarea muchsimas veces ms rpida y confiable, sin dejar atrs los lenguajes formales tales como el lgebra relacional y el clculo relacional.
Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 6 A continuacin estudiars cada uno de los lenguajes y vers la forma tan sencilla de obtener la informacin que desees de una base de datos. 3.1.2 lgebra relacional Como ya se mencion, el lgebra relacional es el conjunto de operaciones que en base a las relaciones que existen entre tablas, son tiles para la obtencin de cierta informacin en una BD.
El estudio y la comprensin de este subtema te servir para que posteriormente entiendas cmo funciona una consulta de datos en SQL.
El lgebra relacional es un lenguaje formal que muestra tcnicas fundamentales para la extraccin de informacin de una base de datos. A continuacin se mostrarn las tcnicas mencionadas:
A continuacin se explica cada una de estas tcnicas y cmo funcionan, todo esto para que diferencies en qu caso te conviene aplicar cada una de ellas al momento de consultar informacin de una BD. De cada una de las tcnicas se muestra un ejemplo de tablas y, posteriormente, cmo quedara la tabla resultante al aplicar dicha tcnica.
Unin Como su nombre lo dice, este operador une o junta en una misma relacin las tuplas o registros de dos relaciones diferentes. Estas se encuentran condicionadas a que sean compatibles, es decir, el mismo tipo de atributos, y se expresa de la siguiente manera.
Tabla clientes contado ID NOMBRE EDAD 98 Juan Lpez 33 99 Arturo Jimnez 23 Tabla clientes crdito
ID NOMBRE EDAD 14 Mnica Ramos 25 15 David Hernndez 36 Tabla clientescontadoclientescrdito ID NOMBRE EDAD Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 7 98 Juan Lpez 33 99 Arturo Jimnez 23 14 Mnica Ramos 25 15 David Hernndez 36
Diferencia Es la resta de dos relaciones o tablas, generando una nueva relacin donde de la primera se quitan aquellos registros que coincidan. Dicho de otra manera: se quedan aquellos registros que estn en la primera pero no en la segunda. De la misma manera que en caso de la unin, ambas tablas deben tener los mismos atributos para que sean posibles. Tabla clientes ID NOMBRE EDAD 98 Juan Lpez 33 99 Arturo Jimnez 23 100 Jaime Reyes 38 Tabla cliente contado
ID NOMBRE EDAD 98 Juan Lpez 33 15 Margarita Jurez 42 Clientes Contado ID NOMBRE EDAD 99 Arturo Jimnez 23 100 Jaime Reyes 38 Contado clientes
ID NOMBRE EDAD 15 Margarita Jurez 42
Producto cartesiano
Define una relacin que es la unin de cada fila de una entidad con la fila de otra entidad.
Clientes ID NOMBRE EDAD 98 Juan Lpez 33 99 Arturo Jimnez 23
Productos
IDpro DESCRIPCION UNIDAD 23 MANZANA KG 24 SALSA ROJA PZ 25 AZUCAR KG Resultado de aplicar el operador de producto cartesiano: IDpro DESCRIPCION UNIDAD ID NOMBRE EDAD 23 MANZANA KG 98 Juan Lpez 33 24 SALSA ROJA PZ 99 Arturo 23 Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 8
Jimnez 25 AZUCAR KG 98 Juan Lpez 33 23 MANZANA KG 99 Arturo Jimnez 23 24 SALSA ROJA PZ 98 Juan Lpez 33 25 AZUCAR KG 99 Arturo Jimnez 23
Seleccin
Se extrae una nueva tabla con los mismos atributos que cumplen con la condicin especificada. Y se simboliza con:
Tabla clientes ID NOMBRE EDAD 98 Juan Lpez 33 99 Arturo Jimnez 23 14 Mnica Ramos 25 15 David Hernndez 36
edad>= 34 aos (clientes)
ID NOMBRE EDAD 15 David Hernndez 36
Proyeccin Produce una tabla como resultado con los atributos que se especifican, eliminando las filas duplicadas; su smbolo es:
Tabla Clientes ID NOMBRE EDAD 98 Juan 33 99 Arturo 23 14 Mnica 25 15 David 36 33 Juan 25
Nombre, Edad (Clientes) NOMBRE EDAD Juan 33 Arturo 23 Mnica 25 David 36 Juan 25 Nombre (Clientes) NOMBRE Juan Arturo Mnica David
Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 9
Interseccin
Es el resultado de aquellos registros que se encuentran en ambas tablas; y su smbolo es: Tabla clientes contado ID NOMBRE EDAD 98 Juan Lpez 33 99 Arturo Jimnez 23
Tabla clientes crdito
ID NOMBRE EDAD 14 Mnica Ramos 25 15 David Hernndez 36 99 Arturo Jimnez 23 ClientescontadoClientescreditos
ID NOMBRE EDAD 99 Arturo Jimnez 23
J oin (unin natural) Es el resultado de unir dos relaciones, combinando los atributos de las dos (pero solo de aquellas que tengan en comn)- Para lograr este join las entidades deben tener un atributo en comn, y se simboliza *.
Tabla Empleados ID NOMBRE EDAD IDP 98 Juan Lpez 33 98 99 Arturo Jimnez 23 99 14 Mnica Ramos 25 99 15 David Hernndez 36 114
Tabla Puestos
IDP PUESTO 98 Almacenista 99 Vendedor Empleados *Puestos ID NOMBRE EDAD IDP PUESTO Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 10 98 Juan Lpez 33 98 Almacenista 99 Arturo Jimnez 23 99 Vendedor 14 Mnica Ramos 25 99 Vendedor
Divisin o cociente Es el conjunto de atributos en dos relaciones en donde la segunda relacin esta incluida en la primera. Y se representa con .
TABLA CLIENTES
ID EDAD 98 33 99 23 14 25 15 33
TABLA EDAD PROMEDIO
EDAD 23 33 CLIENTES EDAD PROMEDIO ID 98 99 15
Retomando todo lo anterior y ya conociendo todas las tcnicas que existen en el lgebra y en qu momento se puede aplicar cada una de ellas, te dars cuenta que se convierten en una herramienta bsica para la manipulacin de los datos en una base de datos, tambin piensa que se pueden combinar entre ellas y aplicar una sobre otra, haciendo la obtencin de la informacin ms simple y sobre todo rpida para llegar al resultado. 3.1.3 Clculo relacional.
A continuacin vers cmo a travs del clculo relacional puedes expresar lo que deseas obtener de tus bases de datos- Estudiar este tema tiene la finalidad de que al momento de pasarlo a un lenguaje como el SQL lo hagas de una manera fcil y rpida, sabiendo que el resultado que te va a mostrar es exactamente lo que quieres saber.
Como ya se mencion, recuerda que el lgebra relacional solo muestra lo que se desea saber sobre ciertos datos especficos en una consulta de datos, adems no dice cmo obtenerlo solo es la representacin de lo que se quiera de manera grfica sobre lo que se dice con palabras. Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 11 Para entender este tema se dividir en dos partes: clculo de tuplas y clculo de dominios.
Clculo de tuplas:
Para entender qu es el clculo de tuplas, recuerda que una tupla es un registro o una fila de una tabla en una base de datos. Para poder expresar lo que se desea consultar en una base de datos, a modo de clculo de tuplas, se utilizarn los siguientes smbolos_:
t Es la variable que representa lo que se desea saber P(t) Es la frmula o forma en la que se va a obtener. Negacin Implicacin Conclusin: conocido tambin como and o y Disyuncin, conocido tambin como or u o Cuantificador universal, tambin conocido para todo Cuantificador existencial, tambin usado para existe al menos un
La forma de expresar una consulta en clculo de tuplas est dada por:
{ t / P ( t )}
De manera que, suponiendo una base de datos de una empresa que se dedica al diseo de sistemas, y tiene dos tablas de empleados (una contiene los datos de los programadores y otra los de analistas) y la consulta que se desea es obtener todos los empleados de la empresa, se expresara de la siguiente forma:
{t| (t Programadores) (t Analistas) }
La anterior consulta define. De los trabajadores que existen, se quiere saber cuales son programadores o analistas.
Ahora, si de esta misma base de datos se necesita saber los empleados que hacen las dos funciones, es decir, que son programadores y analistas al mismo tiempo, la expresin sera la siguiente:
{t| (t Programadores) (t Analistas) }
Otro caso: se quiere saber los empleados que son programadores, pero no analistas. {t| (t Programadores) (t Analistas) }
Ahora que ya sabes como expresar consultas a modo de clculo de tuplas, vas a revisar la siguiente tcnica para expresar consultas a modo de clculo de dominio
Clculo relacional de dominios Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 12 El clculo relacional de dominios tambin se refiere a expresar consultas a travs de smbolos, pero en lugar de hacerlo sobre las tuplas o registros o renglones, lo hace sobre dominios, mejor entendido como atributos o encabezados de columnas.
Su representacin es de la siguiente manera:
{<x1, x2,,xn> | P(x1,x2,,xn)} En donde X1 a Xn son los atributos que se desea conocer al momento de hacer la consulta y P(x1 a Xn) son los atributos de las tablas existentes.
La tcnica de clculo de dominios se apoya con el uso de los smbolos de clculo de tuplas, pero en dominios.
A continuacin se muestra un ejemplo de uso de la tcnica de clculo de dominios, en donde se tiene una base de datos con las siguientes tablas y atributos:
Obtener los alumnos con promedio superior a 4: {<codigo,nombre,edad,promedio> |(t alumnos ) (promedio >4)}
Ahora que ya conoces la forma de hacer operaciones con algebra relacional y la manera de representarlas con clculo relacional, ya ests listo(a) para comprender el cmo convertir estas consultas a un cdigo en un lenguaje y ser aplicados a una base de datos, pero antes, como ya te diste cuenta, se comentar acerca de la dificultad que existe para el uso del lgebra y el clculo relacional.
3.1.4 La dificultad relativa del lgebra relacional y el clculo relacional.
A continuacin se presenta una explicacin de cmo se presenta la informacin en las bases de datos y cmo intervienen el lgebra relacional y el clculo relacional en base a consultas para poder acceder a ciertos datos de la informacin almacenada.
El poder representar todas las tablas de una base de datos y sus atributos, y sobre todo las relaciones, es muy fcil si se trata de una base de datos pequea pero recuerda que no siempre va a ser as, pues existen bases de datos tan complejas que resulta prcticamente imposible realizar estas consultas en papel; lo valioso de haber tratado estos ejemplos consiste en que te ayudan a razonar qu es lo que quieres en el lgebra y cmo reescribirlo en el clculo.
Como ya se mencion, los lenguajes de consulta son aquellos en los que se solicita informacin de la base de datos. Y si dominas estos, puedes llegar a realizar estas consultas de manera ms fcil directamente en el sistema, pero debes saber que los lenguajes de consulta como el SQL est en niveles superiores a los lenguajes de programacin.
Los lenguajes de consulta se clasifican como procedimentales o no procedimentales. Los lenguajes procedimentales son aquellos en los que el usuario dice al sistema que lleve a cabo una serie de operaciones en la base de datos. En los lenguajes no procedimentales, el usuario describe la informacin deseada, sin dar un procedimiento concreto para Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 13 obtener esa informacin, de la misma manera que lo hacen el lgebra y el clculo relacional.
A continuacin realizars una actividad que te permitir practicar las tcnicas de lgebra y clculo relacional.
Actividad 1. Problemas de algebra y clculo.
Para reforzar los temas vistos, es necesario que leas con atencin lo que a continuacin se te pide, ya que ejercitars lo aprendido sobre lgebra y clculo relacional.
Propsito: La presente actividad tiene como propsito que muestres las diferencias entre el lgebra y el clculo relacional, adems de utilizar el lenguaje de consulta datos para la manipulacin de datos en una BD.
Instrucciones:
Lee con atencin cada uno de los puntos y resuelve segn se te pida.
1. Observa la siguiente base de datos:
ALUMNOS(nroLeg,nombre,domicilio,planDeEstudios) PROFESORES(NROLEGP,nombre,domicilio,planDeEstudios) MATERIAS(nroMat,nombre,planDeEstudios) EXAMENES(nroLeg,nroMat,nota,fecha,NROLEGP) CURSAN(nroLeg, nroMat,NROLEGP) 2. De la BD anterior agrega cinco datos, a tu criterio, que sean referentes a los campos de cada tabla, para cada una de ellas. 3. Realiza las siguientes operaciones: Unin (sobre dos tablas en las que s se pueda aplicar, t escoge las tablas) Diferencia Producto cartesiano Seleccin Proyeccin Interseccin Join Divisin 4. De las mismas tablas, crea, de acuerdo con tu propio criterio, dos operaciones propias de clculo relacional (uno de tuplas y uno de dominios). 5. Coloca toda esta informacin en un archivo de Word. 6. Guarda la actividad con el nombre DBD_U3_A1_XXYZ. 7. Enva el archivo. Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 14
3.2 Implementacin relacional
En esta tercera unidad es importante que recuerdes un poco sobre cmo se hace una base de datos en el modelo relacional (este tema fue visto en la unidad dos de esta misma asignatura). El modelo relacional se considera un modelo lgico de no muy alto nivel, ya que est orientado a los registros, las tablas y las relaciones entre ellas.
Tambin recuerda que el sistema gestor de bases de datos es en donde se va a manipular la base de datos, y hay muchos en el mercado.
Otro aspecto importante a considerar es la diferencia entre el modelo relacional y el modelo entidad-relacin, los cuales se representan, como sabes, de manera diferente.
Recuerda los siguientes trminos:
Entidad: es el conjunto de todas las filas de una relacin y sus atributos. Atributo: son todas las columnas de una relacin.
En el modelo entidad - relacin se utilizan diferentes smbolos: crculos para los atributos, cuadrados para las entidades, y rombos para las relaciones.
Al transformar del modelo entidad-relacin a relacional debes seguir una serie de reglas para no perder la conexin entre las tablas, como ya lo viste en la segunda unidad-. Es necesario revisar este tema para ubicarte en contexto y para que recuerdes su estructura y la manera en la que se convierte de entidad-relacin a relacional, pero si no es as, antes de proseguir realiza una nueva lectura, ya que es la base para comprender lo que se presentar a continuacin.
3.2.1. Modelo Relacional
Para poder aplicar consultas, las cuales tienen su origen en el lgebra y el clculo relacional, recuerda un poco ms sobre el modelo relacional, a fin de que se pueda dar una secuencia y se entienda el cmo aplicar consultas, sobre todo cuando involucran ms de una tabla, ya sea que estn relacionadas o no..
Ya que el modelo relacional no utiliza diagramas para representar su informacin, es posible apoyarse con el uso de tablas (esto es opcional, y podrs encontrarte con autores que pueden manejar diferentes formas de representarlo).
El siguiente ejemplo muestra cmo a partir de un determinado modelo entidad - relacin se puede transformar a relacional, quedando las siguientes tablas: Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 15
tabla alumno Matricula Nombre Direccin Telfono 15245 Juan Prez Calle los Olmos no. 25 7777777
Cada una de estas tablas proviene de ciertas entidades con sus respectivos atributos, y considerando el tipo de relacin que tengan, se generar la base de datos. Una vez que recordaste cmo pasar de un modelo entidad - relacin a relacional, y ya conoces el origen del nombre del modelo relacional y cmo se representa, en el siguiente tema estudiars especficamente lo que son la tablas y los esquemas.
3.2.2. Definicin tablas y esquemas
Es importante hablar de tablas debido a que en base a ellas se definirn las tablas y atributos de estas que tendr la BD que desees crear; aunado e ello, es importante hablar de esquemas debido a que muestran de forma clara las tablas relacionadas en la base de datos. A continuacin se define y ejemplifica cada uno de ellos.
Una tabla es un grupo de informacin clasificada de acuerdo al contenido de la misma, y por tanto hay diferentes formas de representarla, la ms simple es la que hasta ahora has estudiado; ve como ejemplo la siguiente tabla.
Matricula Nombre Direccin Telfono 15245 Juan Prez Calle los Olmos no. 25 7777777
Dentro de las tablas tambin se encuentra la manera en que se relaciona con otras tablas, dando origen a una nueva forma de representar una base de datos a travs de un esquema, el cual es usado en el momento de programar la base de datos en su lenguaje, y por ello es conveniente asignarle un nombre para posteriormente hacer referencia al mismo. Existen convencionalismos para hacerlo y estn dados por lo que a continuacin se presenta:
Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 16 Nombres en minsculas para las relaciones. No espacios entre nombres, se puede usar o _. Nombres en minsculas para los esquemas de las relaciones, pero comenzar en maysculas.
Se muestra un ejemplo de lo anterior: Esquema-Alumno(matricula,nombre,direccin, fecha-de nac)
Se denota el hecho de que alumno es una relacin de Esquema-alumno mediante alumno. En general, los esquemas de las relaciones incluyen una lista de los atributos y de sus dominios correspondientes.
El esquema tambin puede representarse grficamente a travs de cuadros, donde cada cuadro representa una tabla y se encuentra subrayado o resaltado; la clave principal de cada tabla en dicho esquema se denota la clave que pasa como clave fornea o secundaria a la siguiente tabla, para no perder la relacin entre las tablas, y tambin se representa con flechas cmo se relacionan cada una de ellas. Se debe colocar el nombre de cada tabla en la parte superior de cada una.
Silberschatz y Korth (2002, p. 58) afirman que: Un esquema de bases de datos, junto con las dependencias de clave primaria y externa, se puede mostrar grficamente mediante diagramas de esquema. Retomado de los mismos autores, a continuacin se presenta una figura que muestra el diagrama de esquema aplicado a un ejemplo del sector bancario. En el esquema observa que cada relacin aparece como un cuadro, con los atributos listados dentro de l y el nombre de la relacin sobre l. Si hay atributos con clave primaria, una lnea horizontal cruza el cuadro con los atributos clave primaria listados sobre ella. Las dependencias de clave externa aparecen como flechas desde los atributos clave externa de la relacin referenciada a la clave primaria de la relacin referenciada.
Silberschatz y Korth (2002, p. 58) advierten que no hay que confundir un diagrama de esquema con un diagrama E-R. En particular, los diagramas E-R no muestran explcitamente los atributos clave externa, mientras que los diagramas de esquema s.
Esquema banco (Imagen tomada de Silberschatz y Korth, 2002, p- 58)- Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 17
Los trminos presentados anteriormente te ayudan a entender cmo se estructura de principio a fin una base de datos. Si observaste bien, el esquema es el que de forma grfica presenta las relaciones que existen entre las tablas de una base de datos, mismas que son tiles para cuando se quiere consultar informacin.
3.2.3. Manipulacin de datos Con fundamento en lo que se vio sobre tablas y esquemas en el tema anterior y que ya conoces, puedes comenzar con los lenguajes de consulta que tanto se han mencionado, y que tienen su origen en el lgebra y el clculo relacional. El lenguaje de consulta estructurado SQL (StructuredQueryLanguage) es un lenguaje de base de datos utilizado por Microsoft Jet. Est formado por instrucciones que se componen de clusulas, comandos y operadores. Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las bases de datos. Los comandos SQL se clasifican de dos formas diferentes Los DDL ( Lenguaje de Definicin de Datos), que permiten crear y definir nuevas bases de datos, campos e ndices. Los DML (Lenguaje de Manipulacin de Datos), que permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos. En la siguiente tabla se mencionan y describen algunos de los comandos de SQL. COMANDOS DLL COMANDOS DML CREATE Utilizado para crear nuevas tablas
SELECT Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado
DROP Empleado para eliminar tablas INSERT Utilizado para cargar lotes de datos en la base de datos en una nica operacin.
ALTER Utilizado para modificar las tablas, agregando campos o cambiando la definicin de los campos.
UPDATE Utilizado para modificar los valores de los campos y registros especificados
Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 18 DELETE Utilizado para eliminar registros de una tabla de una base de datos
Las clusulas son condiciones de modificacin utilizadas para definir los datos que desea seleccionar o manipular, a continuacin se muestran algunas de ellas. FROM Utilizada para especificar la tabla de la cual se van a seleccionar los registros WHERE Utilizada para especificar las condiciones que deben reunir los registros que se van a seleccionar ORDER BY Utilizada para ordenar los registros seleccionados de acuerdo con un orden especfico. A continuacin se muestra una instruccin utilizando el comando CREATE para crear una base de datos: Createdatabase alumnos: esta instruccin crea la base de datos alumnos Operadores Lgicos
AND: el resultado debe cumplir ambas expresiones antes y despus del and para dar el resultado deseado. OR: el resultado est en funcin de si una u otra expresin se cumple. NOT: el resultado invierte la condicin de la expresin. Operadores Relacionales <menor que, a<b a es menor que b >mayor que a>b a es mayor que b <>distinto de a<> a a es distinto que b <= menor que o igual a<=b a es menor o igual que b >= mayor que o igual a>=b a es mayor o igual que b BETWEEN: utilizado para especificar un intervalo de valores , ( Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 19
Funciones Las funciones de agregado se usan dentro de una clusula SELECT en grupos de registros para devolver un nico valor que se aplica a un grupo de registros. AVG Utilizada para calcular el promedio de los valores de un campo determinado COUNT Utilizada para devolver el nmero de registros de la seleccin SUM Utilizada para devolver la suma de todos los valores de un campo determinado MAX Utilizada para devolver el valor ms alto de un campo especificado MIN Utilizada para devolver el valor ms bajo de un campo especificado La sintaxis bsica para crear una base de datos en SQL es: CREATE DATABASE nombre_base de datos
Cuando ya ha sido creada la base de datos, lo siguiente es crear las tablas, para lo cual se debe conocer primero los tipos de datos que se pueden utilizar, y estos varan dependiendo del manejador de bases de datos que se utilice, sin embargo la mayora reconoce estos tipos de datos. Tipo de de dato Caractersticas VARCHAR(tamao) Almacena cadenas de caracteres de una longitud variable. La longitud mxima son 4000 caracteres. CHAR(tamao) Almacena caracteres con una longitud fija. Siendo 2000 caracteres el mximo NUMBER(precision,escala) Almacena datos numricos, tanto enteros como decimales, con o sin signo. Precisin, indica el nmero mximo de dgitos que va a tener el dato. Escala, indica el nmero de dgitos que puede haber a la derecha del punto decimal. LONG Almacena cadenas de caracteres de longitud variable. Puede almacenar hasta 2 Gb de informacin DATE Almacena informacin de fechas y horas. De forma predeterminada almacena un dato con el siguiente formato: siglo/ao/mes/dia/hora/minutos/segundos. Este formato se puede cambiar con otros parmetros. Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 20
Una vez que sabes los tipos de datos se muestra un ejemplo de cmo se crea una tabla:
nombre_columna: es el nombre de la columna que compone la tabla..
tipo_columna: es la indicacin del tipo de dato que la columna podr contener. clusula_defecto: indica el valor de defecto que tomar la columna si no se le asigna uno explcitamente en el momento en que se crea la lnea. La sintaxis que hay que usar es la que se indica en el ejemplo siguiente:
Ejemplo: antes de crear tablas debes conocer cmo crear las claves primarias y las claves forneas que vienen de otra relacin. la definicin de la llave primaria:
PRIMARY KEY ( columna1 [ , columna2 ... ] ) las definiciones de las llaves externas:
Cuando ya se tienen las tablas creadas, lo siguiente es el manejo o manipulacin de los datos, tales como agregar, eliminar y modificar datos: Para aclarar mejor el uso de la instruccin CREATE TABLE, veamos algunas rdenes que implementan la base de datos ejemplificada.
CREATE TABLE Ventas ( ID INTEGER PRIMARY KEY, nombreclienteCHAR(18) NOT NULL );
Esta instruccin crea la tabla Ventas y solo contiene el atributo ID de tipo Integer y nombrecliente de tipo char con 18 caracteres, id es la clave primaria, y se est poniendo como requisito que el nombre de cliente s tenga datos, al no permitir nulos. CREATE TABLE libro (ID INTEGER PRIMARY KEY, titulo VARCHAR(160) NOT NULL, publicacin INTEGER NOT NULL, volumen VARCHAR(16), series VARCHAR(160), Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 21 edicion VARCHAR(16), notas VARCHAR(255) ); Para borrar TABLAS se utiliza la siguiente instruccin: El comando de SQL es DROP TABLE nombre_tabla. Si la tabla tiene datos, estos van a ser borrados permanentemente. Una vez que la tabla se borra no se puede recuperar.
Para agregar datos a las tablas se utiliza la siguiente instruccin:
INSERT INTO nombre_tabla[ (lista_campos ) ] VALUES ( lista_valores )
nombre_tabla es el nombre de la tabla en la que se tiene que incluir la nueva lnea.
lista_campos es la lista de los nombres de los campos a los que hay que asignar un valor, separados entre s por una coma. Los campos no incluidos en la lista tomarn su valor por defecto o NULL si no lo tienen por defecto. Es un error no incluir en la lista un campo que no tenga un valor por defecto y que no pueda tomar el valor NULL. En el caso en que no se especifique la lista, habr que especificar los valores de todos los campos de la tabla. Como ya viste, la a sintaxis bsica de una consulta de seleccin es la siguiente: SELECT Campos FROM Tabla; En donde Campos es la lista de campos que se deseen recuperar y Tabla es el origen de los mismos, por ejemplo: SELECT Nombre, Telfono FROM Clientes;
Usando estas consultas, y combinando con los operadores lgicos, relacionales y las funciones, podrs lograr consultas ms avanzadas. Una consulta es usada con vistas y estas son aplicadas en el siguiente tema.
3.2.4. Definicin de vistas
Las vistas fueron creadas para encapsular las consultas y que los usuarios no tengan el acceso a las mismas por cuestiones de seguridad, para que algunos de los datos queden ocultos Por ejemplo: Un alumno que desea saber el nmero de calificacin de cierta materia debera ver una relacin descrita, en el lgebra relacional, mediante: nombre-alumno, numero-calif_materia (alumno x calif_materia)
Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 22 Adems de las consideraciones sobre la seguridad, puede que se desee crear un conjunto personalizado de relaciones que se adapte mejor que el modelo lgico a la intuicin de un usuario concreto.
Definicin de Vistas. Las vistas se definen con la instruccin createview. Tomemos en cuenta que para definir o crear una vista debemos asignarle un nombre e indicar la consulta que la va a calcular. La forma de la instruccin view es:
Createview view_name as <expresin de consulta> Donde: Createview es la expresin que crea la vista View_name representa el nombre de la vista que se crear. <expresin de consulta> Se refiere a la consulta que guardar y ejecutar la vista.
Consideremos un ejemplo, creemos una vista en una base de datos de una determinada biblioteca. La vista se llamar autores_mexicanos y queremos que anide una consulta que muestre algunos atributos de la tabla autores donde su pas sea Mxico, veamos como se expresara:
Crate view autores_mexicanos as (Select id_autor, nombre_autor From autores Where pas = Mexico)
Cuando definimos la vista, sta puede ser utilizada en cualquier momento, mientras se haga referencia a ella, pero debemos de tener cuidado cuando se modifiquen las relaciones de las tablas a las que hace referencia la vista, debido a que puede generar errores en la consulta interna de la vista. Por tal motivo, el sistema gestor de vistas guarda slo la vista creada y no el resultado que arroja cuando se manda llamar.
Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 23
Tomando en cuenta las tablas siguiente, mediante SQL se tiene la creacin de vistas de la siguiente manera.
Una Tabla, con Mltiples vistas
Se puede tener muchas vistas de la misma tabla. Tabla empleados No. Empleado Nombre Puesto Fecha-nac Salario Extras No.depto 2334 Juan Supervisor 17-dic-80 6000 0 45 5677 Alejandra Secretaria 20-Feb-81 4000 2000 46 3456 Arturo Supervisor 23-Ago-75 7000 0 56
Vista de supervisores Vista de secretarias Nombre puesto Juan Supervisor Arturo Supervisor
Cmo crear, Nombrar y Consultar Vistas
SQL> CREATE VIEW secretaria AS SELECT nombre, puesto, salario FROM Empleados WHERE Puesto= secretaria;
Se puede utilizar cualquier SELECT que contenga un ORDER BY cuando crea una vista.
Para consultar una vista, se hace un SELECT como si la vista fuera una tabla.
SQL> SELECT * FROM Secretaria;
Creando VISTAS con ALIAS de nombres de columnas
A menos que se especifique lo contrario, la vista hereda los nombres de las columnas de la tabla de la que se deriva.
Nombre puesto salario Alejandra Secretaria 4000 Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 24 Para dar a la vista nombres de columnas diferentes a los de la tabla base, se utiliza la siguiente sintaxis:
CREATE VIEW nombre_vista (alias, alias,...) AS query
SQL> CREATE VIEW MYDEPT (PERSON,TITLE,SALARY) AS SELECT nombre, puesto, salario FROM Empleado WHERE No.depto=10;
Razones para copiar tablas y vistas: Respaldar tablas y vistas originales. Dar una copia a alguien ms. Hacer cambios tentativos. Archivarlas antes de borrarlas.
Borrado de Vistas. Cuando no se necesitan o simplemente se quiere eliminar una vista previamente ejecutada, se requiere de ciertos comandos, como los que a continuacin se muestra.
Para borrar vistas. El comando de SQL es DROP VIEW nombre_vista. Las tablas en las que se basa la vista no se alteran.
Las vistas pueden llegar a simplificar el uso de consultas y hacen que la informacin de cmo elaborar la consulta no est al 100% disponible para el usuario al permitir renombrar la consulta con un nombre especfico.
A continuacin seguirs con una actividad, para posteriormente profundizar en consultas.
Actividad 2 Relacional- Grficos
La implementacin de una base de datos se hace a travs de lenguaje, el cual tiene una serie de comandos para llevarse a cabo. Como ya te diste cuenta, para realizar esta actividad debers tener instalado algn manejador de bases de datos, si no es as puedes Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 25 consultar la seccin Para saber ms, en la que se te proporciona un link de cmo instalar SQL server 2000 y 2008.
El propsito de esta actividad est enfocado a aplicar los conocimientos con respecto a consultas, donde se aplican comando clusulas y operadores. Adems de que logres crear una base de datos, sus tablas y una consulta a travs de una vista de manera sencilla.
1. Toma en cuenta la siguiente imagen y realiza lo que se te pide: . Imagen tomada de Silberschatz y Korth, 2002, p- 58
2. Crea con instrucciones de SQL la base de datos. 3. Crea con instrucciones SQL las tablas. 4. Crea una vista que convenga realizar, puede ser sobre una tabla, la que t desees. 5. Guarda y enva la actividad con el nombre DBD_U3_A2_XXYZ.
3.3 Implementacin relacional con consulta grficos
El lenguaje de consulta (QBE), por su importancia es uno de los primeros lenguajes de consulta grficos con sintaxis mnima para los sistemas de bases de datos, este lenguaje es considerado como la versin grfica para la implementacin relacional de bases de datos. De acuerdo con Ramez y Shamkant (2007 p. 903), las consultas QBE de recuperacin, se especifican rellenando una o ms filas de las plantillas de las tablas. En una consulta de una sola relacin, introducimos constantes o elementos de ejemplo (un trmino QBE) en las columnas de la plantilla de esa relacin. Un elemento de ejemplo simboliza una variable de dominio y se especifica como un valor de ejemplo precedido por el carcter de subrayado U. Adems, se introduce un prefijo P. (denominado operador de punto P) en determinadas columnas para indicar que nos gustara imprimir (o visualizar) los valores de Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 26 esas columnas para nuestro resultado. Las constantes especifican valores que deben ser exactamente iguales a los presentes en esas columnas.
3.3.1. Definicin de lenguaje de consulta de grficos Actualmente existen herramientas de gran utilidad para la gestin de modelos relacional, lo cual ayuda que la implementacin sea simple y sencilla de poderse realizar. Querybyexample, por sus siglas en ingles QBE, es la versin grfica del lenguaje de datos relacional, como esStructurequery lenguaje SQL. El funcionamiento bsico de QBE, permite analizar y convertir las acciones de los usuarios en las declaraciones expresadas en un lenguaje de manipulacin de bases de datos. Actualmente QBE es un lenguaje compatible con varias bases de datos relacionales tales como: Visual querybyexample MSQL Microsoft Access Estos lenguajes estn soportados para la facilidad de manipulacin de consultas, de tal forma la interfaz de usuario del QBE y SQL interactan para obtener el modelo relacional grfico. Estos programas hacen por s solos el esquema de la base de datos y con clic se pueden seleccionar claves primarias y arrastrar para que se conviertan en claves forneas. Y mediante la seleccin de lo que se desea saber a travs de ayuda y asistentes o simplemente de manera grfica, se obtiene la consulta. QBE tambin est soportado por otras compaas. Borland, ofrece PARADOX como una versin de funcionalidad completa del QBE, el cual incluye la definicin de tablas. A pesar de que la sintaxis es ligeramente diferente de la de IBM, el lenguaje tiene mucha similitud. Lotus 123 tambin ofrece un lenguaje simple de consultas de base de datos, que usa un enfoque parecido al de QBE, debido a que el QBE permite que los usuarios no tcnicos formulen fcilmente sus consultas.
3.3.2. Manipulacin de datos La mayora de los lenguajes estructurados de consultas, son textuales, por lo que al formular una solucin esta debe ser creada por una cadena de caracteres. A diferencia de ellos, QBE es un lenguaje grfico, el cual estructura las soluciones de consultas a travs de representaciones grficas de las tablas de la base de datos en cuestin. La similitud de QBE con SQL es que se basan en el desarrollo de expresiones condicionadas, funciones Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 27 integradas, agrupacin, entre otras, por tal motivo los resultados de los valores de datos sern los mismos en ambos lenguajes. Debido a que la mayora de los sistemas con QBE utilizan las bases de datos que han sido desarrolladas utilizando las instrucciones de SQL, se tienen diferentes acciones para el manejo de las bases de datos tales como: Consultas simples. Esta es una de las instrucciones bsicas para el inicio de la manipulacin de los datos, las cuales solo afectan no ms de una tabla dentro de la base de datos. Para el desarrollo de esta consulta, el usuario solicita el grfico de la relacin existente. Debido a que la mayor parte de las rdenes definen instrucciones SQL, no se analizan las definiciones de datos en QBE. QBE, como un lenguaje grfico, su principal objetivo es ofrecer medios para que el usuario interacte de forma grfica con la base de datos, esto se muestra diseando una estructura de las tablas. Las consultas simples, son aquellas que afectan a solo una tabla dentro de la base de datos, las consultas simples son utilizadas para ilustrar la estructura bsica de SQL. El siguiente ejemplo muestra una consulta simple utilizando la sentencia select de SQL. Consulta: Quines son clientes de convenio? SELECT nomcliente, tipocliente FROM Clientes WHERE tipocliente = Convenio
Resultado: La siguiente imagen muestra el resultado de la consulta simple realizada
Resultados de consulta simple. En la consulta ilustrada se puede observar que se utilizaron tres clusulas bsicas usadas en SQL: Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 28 Select: Lista las columnas que se desean observar en el resultado de la consulta, esto tiene que ser siempre columnas de una tabla relacional. From: Listas una o ms tablas que son referenciadas en la consulta. Where: Es utilizado como condicionante, es la condicin para seleccionar las filas de la tabla que se dan en la clusula from. Otra variante de la consulta anterior, donde se toman todas las columnas de la tabla, donde el smbolo * en la clusula select significa que muestre la fila completa. Se tiene lo siguiente. Consulta: Quines son los clientes de convenio? Select * From Cliente Where tipocliente = convenio Resultado: La siguiente imagen se muestra el resultado de la consulta simple mostrando todos los campos de la tabla.
Resultados de consulta simple mostrando todos los campos de la tabla. Fuente: imagen propia Se muestra a continuacin otro ejemplo: Consulta: Qu productos tienen precio entre $150 y $200? SELECT ean, nomproducto, preproducto, precfarmacia, descuento, fechaoferta, precpublico FROM Ofertas WHERE (precpublico>= 150) AND (precpublico<= 200) ORDER BY nomproducto DESC
Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 29
Resultado de consulta simple con variacin de operadores en la clusula where
Resultado: La imagen anterior muestra el resultado de la consulta, ntese que agrega unas caractersticas adicionales a la clusula where, tales como los operadores de comparacin y el conector booleano And.
Aqu cabe destacar que existen seis operadores de comparacin: = (igual), <> (no igual), < (menor que), > (mayor que), <= (menor e igual que), >= (mayor e igual que), estos pueden ser utilizados para comparar las columnas con otras columnas; los conectores booleanos AND, OR, NOT, pueden ser utilizados para la creacin de condiciones compuestas o para negar una condicin.
Los parntesis tambin pueden usarse en la forma acostumbrada de los lenguajes de programacin, donde son utilizados para agrupar condiciones.
Tambin es comn utilizar el operador Between (entre) el cual indica que muestre slo los datos comprendidos entre los valores indicados, y el operador Orderby, el cual indica que los registros sern ordenados por nombre del producto y el operador DESC, indica que ser ordenado de forma descendente o ASC, ascendente segn el caso. Esto se observa en el siguiente ejemplo:
SELECT * FROM Ofertas WHERE precpublicobetween 150 and 200 ORDER BY nomproducto DESC
Resultado: La siguiente imagen muestra el resultado de la consulta, utilizando el operador between utilizado para comparar los valores entre si, el primero menor que el segundo. Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 30
Resultado de consulta simple con variacin de la clusula where, utilizando el operador between.
Ahora observa lo siguiente:
Consulta: Indicar los productos con el cdigo de presentacin 01 y 02
SELECT ean, nomproducto, preproducto, precfarmacia, descuento, fechaoferta, precpublico, codpresentacion FROM Ofertas WHERE (codpresentacion IN ('01', '02')) ORDER BY nomproducto DESC
Resultado de consulta simple con variacin de la clusula where utilizando el operador IN.
En la imagen anterior se muestra la consulta utilizando el operador de comparacin IN. La clusula where ha evaluado si el tipo de presentacin de la fila se encuentra. Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 31
Las consultas de mltiples tablas, son aquellas que implican la conexin de los datos a travs de varias tablas. Para este tipo de consulta es comn utilizar el operador innerjoin, a continuacin se muestran algunos ejemplos utilizando este operador.
Consulta: Cules son los laboratorios de los productos asignados al laboratorio WYETH, S.A. DE C.V.?
Panel de criterios de la consulta realizada en SQL.
SELECT Productos.*, Laboratorios.* FROM Productos INNER JOIN Laboratorios ON Productos.IdLaboratorio = Laboratorios.IdLaboratorio WHERE (Laboratorios.NomLaboratorio = 'WYETH, S.A. DE C.V.')
Existen varias sentencias en SQL, pero dentro de las bsicas y simples tambien se tiene la sentencia Group by. Esta clave de SQL es utilizada cuando se desea seleccionar multiples columnas desde una o varias tablas. En esta sentencia se pueden utilizar operadores aritmeticos en la instruccin select. La sintaxis en SQL es tal como se muestra en el siguiente ejemplo: SELECT "nombre1_columna", SUM("nombre2_columna") FROM "nombre_tabla" GROUP BY "nombre1-columna" Operaciones que modifican la base de datos. Tanto QBE como SQL soportan tres tipos de operaciones que cambian la base de datos: Insert. Es utilizado para insertar registros o filas en la tabla de una base de datos. Un ejemplo comn utilizando esta instruccin es el siguiente:
insertintoClientes (cliente_id,nombre,paterno,materno,sucursal_id, ciudad) values ('0000099999','MARINA','HERNANDEZ','HERNANDEZ','00004',Leon), ('0000099998','CARLOS','VILLAVICENCIO','VAZQUEZ','00002',Len) ('0000099997','MIGUEL','SALAZAR','GARCIA','00001',Morelia) Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 32
Update. Esta instruccin es utilizada para actualizar los registros almacenados en la tabla de la base de datos, para esta instruccin se puede utilizar el siguiente ejemplo: Update clientes Set sucursal_id = 00001 Where ciudad = Leon En este ejemplo existen dos filas que satisfacen la condicin de la clusula Where donde actualizara el valor de la sucursal a 00001.
Delete. Esta instruccin es comnmente utilizada para eliminar los registro de una tabla dentro de la base de datos.Para esta instruccin es sencilla aplicar el criterio de eliminacin de registros, se tiene como ejemplo la siguiente sentencia en SQL: Delete from clientes Where sucursal_id = 00001
En este ejemplo se puede observar que se utiliza la instruccin delete haciendo referencia a la tabla de clientes, y se establece una condicin, por lo que los registros a eliminar debern de satisfacer esa condicin
Como has podido observar, crear una consulta para obtener exclusivamente lo que se quiere de una tabla es muy sencillo, y te puede liberar de horas de trabajo manual. 3.3.3. Definicin y entrada de datos
Una vez que se ha conocido la forma de crear bases de datos, insertar datos el ella y realizar consultas de dichos datos en formas diferentes, es importante que se conozcas como se definen e ingresan stas instrucciones en un determinado manejador de base de datos, en ste caso ser SQL. En SQL se utilizan trminos tales como: tabla, fila y columna para los trminos relacin, tupla y atributo del modelo relacional formal. Existe una gran variedad de comandos en SQL, tal como CREATE, que es utilizado para crear esquemas, tablas y dominios. Un esquema de SQL se identifica con un nombre, el cual incluye un identificador de autorizacin para usuarios. Los elementos del esquema son las tablas, las restricciones, las vistas, los dominios y algunas otras estructuras. Algunos de los comandos utilizados en SQL son: Create: se usa para crear el objeto, puede ser una base de datos, una tabla, un esquema, vistas, etc. A continuacin se muestra un ejemplo de creacin de una base de datos. Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 33
CREATE TABLE [dbo].[Bitacora]( [IdBita] [int] IDENTITY(1,1) NOT NULL, [idbitacora] [int] NULL, [fechahora] [datetime] NOT NULL, [tipo] [char](3) NOT NULL, [mensaje] [char](250) NOT NULL, [status] [bit] NOT NULL,
InserInto: se utiliza para que una vez creada la base de datosy, las tablas y los campos de cada tabla, se inserten datos a cada campo de la tabla referenciada.
Select: utilizado para seleccionar un objeto dentro de la base de datos, tal como tablas. Como un ejemplo comnmente utilizado en select se tiene:
SELECT idcliente, fechaalta, tipocliente, rfcalfa, rfcfecha, rfchomoclave, nomcliente, domicilio1, domicilio2, telefono, contacto, activo, comentario, imagen FROM Clientes SQL tiene varias caractersticas adicionales para el desarrollo e implementacin de bases de datos, las cuales son: Tcnicas de distintos lenguajes de programacin que pueden incluir sentencias de SQL, las cuales son de utilidad para poder accesar a una o ms bases de datos. El SQL incrustado o dinmico, y la conectividad de bases de datos abierta ODBC (open data base connectivity).
Todos los sistemas administradores de bases de datos relacional (RDMBS relationaldatabasemanagementsystem), contienen los comandos de SQL, con un conjunto de comandos para especificar los parmetros de diseo fsico de la base de datos. Controlador de transacciones: utilizado para especificar las unidades de procesamiento de bases de datos.
Cuenta con estructuras de lenguaje comnmente utilizadas para especificar la concesin y revocacin de privilegios a los usuarios.
Tcnicas de base de datos activa, las actuales especifican acciones que son automticamente ejecutadas por los eventos. Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 34 Incorpora caractersticas de los modelos orientados a objetos, utilizados para mejorar los sistemas relacionales conocidos como de objetos relacionales. En SQL se utilizan todas las instrucciones vistas en ste tema, las cuales se pueden considerar las bsicas para la creacin insercin y manipulacin de datos. Es importante que recuerdes y pongas en prctica las instrucciones vistas para cuando utilices SQL para la realizacin de tus bases de datos especficas. 3.4 Sistemas de bases de datos Cliente/Servidor
A continuacin conocers las diferencias que hay entre un cliente y un servidor, debido a que es de suma importancia identificar y diferenciar cada uno de ellos, adems de saber en qu se enfocan respectivamente. Un cliente es algo o alguien que solicita informacin o trabajo, y un servidor es quien la proporciona. En el mbito de las redes, cliente/servidor es una mquina o proceso que solicita informacin y una mquina o proceso la proporciona. Esto se vera ms a detalle en el siguiente tema. Un sistema de bases de datos basado en aplicaciones cliente/servidor permite extender las aplicaciones principales a una plataforma de equipos llamados servidores, cuya funcin es enlazar las computadoras cliente o de sobremesa al servidor, donde el sistema de gestin de bases de datos funciona a travs de la red mediante llamadas al sistema. Una de las principales ventaja que ofrece este tipo de esquema de sistemas cliente/servidor es el compartir recursos y accesos al sistema de base de datos mediante una interfaz grfica de usuario, para darle ms poder y facilidad de uso de la presentacin de los datos, consultas, etc. Las bases de datos pueden ser ubicadas en servidores y la informacin puede ser consultada de manera remota o local.
Los dos trminos vistos en este apartado son el punto de partida para conocer el concepto y enfoque de Cliente/Servidor que se ver a continuacin. 3.4.1. Conceptos de Cliente/Servidor
En este tema estudiars la plataforma que sirve como mediador entre la base de datos y los datos de una base de datos conectada por medio de una red de computadoras. El concepto cliente/servidor, se conoce como aquella plataforma donde el medio de comunicacin es por la red de computadoras, donde se ofrecen los servicios por medio de un equipo dedicado (servidor). Los equipos o terminales de cmputo conectados a la red reciben el nombre de cliente. Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 35 La principal ventaja de la plataforma cliente/servidor, es la optimizacin de los servicios para establecer fluidez en las transacciones de entrada y salida de datos, por medio de interfaces grficas de usuarios que otorgan medios orientados al usuario para facilitar el acceso a la base de datos. Un Sistema Gestor de Bases de Datos (SGBD), tambin brinda interfaces de usuario que permiten visualizar y responder a las entradas de los usuarios. La arquitectura cliente/servidor se compone de tres niveles o capas: Capa de presentacin (Cliente). Esta capa otorga al usuario la interfaz para poder interactuar con el sistema de gestin de base de datos, las cuales se utilizan como conexiones con la aplicacin desarrollada. Comnmente se utilizan navegadores web o aplicaciones desarrolladas en distintos lenguajes de programacin, tales como HTML, JAVA, C++, Visual Studio, etc. En esta capa se gestionan las entradas, salidas y navegacin, aceptando comandos de usuario. Capa de aplicacin (lgica de aplicacin). Esta capa se utiliza para la programacin lgica de las aplicaciones que tendrn acceso al sistema de gestin de bases de datos, El acceso a la informacin o consultas a la base de datos se realiza mediante la interface de la aplicacin desarrollada. Servidor de bases de datos. En esta capa se controlan todas las consultas y peticiones de actualizaciones procedentes de la capa de aplicacin y es la encargada de procesar las solicitudes para el envo de los resultados. La siguiente imagen muestra un esquema general de las diferentes capas que componen una arquitectura cliente/servidor:
Arquitectura Cliente/Servidor de tres capas- (Tomada de Ramez y Shamkant, 2007, p. 771) Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 36 La arquitectura cliente servidos es de suma importancia conocerla y entenderla para cuando pongas en prctica la realizacin de base de datos y manipulacin de datos de sta base, sea ms fcil entender la en cul lugar de sta plataforma se debe de procesar las instrucciones que indica el usuario. 3.4.2 Base de datos servidor
Comnmente para la operatividad de un Database management System (DBMS), o en espaol Sistema Manejador de Bases de Datos, se incluyen la centralizacin a nivel de servidor de base de datos. El servidor de aplicaciones es el que debe formular las consultas SQL y realizar la conexin con el servidor de bases de datos con lo que requiera. SQL es un lenguaje estructurado de consultas relacional, el cual tambin hace referencia a un diccionario de datos que incluye informacin acerca de la distribucin de los mismos entre los distintos servidores SQL. La siguiente imagen muestra un servidor de base de datos en SQL
Servidor de base de datos en SQL Server 2008 R2. Fuente, Microsoft SQL Server Management Studio. Acabas de conocer a que nos referimos como servidor de base de datos o manejador de sistemas de base de datos, el cul es una aplicacin que puede variar segn la que selecciones, pero en esencia, funcionan de forma similar, realizando o indicado por los usuarios, solo debes de familiarizarte con la plataforma elegida.
Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 37 3.4.3. Manipulacin y programacin del servidor de datos
Dentro de la manipulacin del servidor de base de datos, se proporcionan estructuras de control que permiten ser ejecutadas sin interrupciones dentro de un conjunto de lotes de instrucciones. Esas estructuras de control son parte de los lenguajes de flujo de control e incluyen instrucciones condicionales e instrucciones para hacer bucles. Adems de estas caractersticas, tambin brindan procedimientos almacenados que son programas escritos, los cuales son compilados en algn lenguaje de programacin y se guardan para ser ejecutados con eficiencia. Existen diferentes recursos lingsticos que son utilizados en la sintaxis de SQL: Lenguaje de flujo de control. Es un lenguaje de consulta orientado a usuarios de conocimiento avanzado, para obtener informacin inmediata por la va de consultas a bases de datos. Procedimientos almacenados. Los procedimientos almacenados son programas SQL, compilados en su primera ejecucin almacenada y lista para su uso posterior. Tienen la ventaja de ejecutarse de forma rpida y permiten recibir y retornar parmetros variables usados para pasar datos almacenados. Disparadores. Dentro de SQL a un disparador se le nombra tigger, el cual es un programa que se ejecuta automticamente cuando se intenta hacer una actualizacin determinada sobre una tabla especfica. Un tigger puede definir tres tipos de disparadores: insercin, actualizacin y eliminacin. Como te diste cuenta hay diferentes formas de accesar a la informacin, y no solo por parte de la persona, sino tambin por procesos propios del sistema manejador de bases de datos 3.5 Organizacin fsica de los sistemas de bases de datos.
La organizacin fsica de una base de datos depender de su tamao y requerimientos de espacio a utilizar, ya que el almacenamiento se da en recursos secundarios de gran capacidad de almacenamiento. Uno de los principales medios de almacenamiento secundario son los discos duros.
Los dispositivos de almacenamiento registran o almacenan la informacin de forma directa y permiten el acceso a sus registros en cualquier tipo de orden, ya sea lectura o escritura.
Los discos son dispositivos utilizados para el almacenamiento de la informacin, los cuales se presentan en unidades separadas. La estructura de la pila de discos multiplica la capacidad de almacenamiento, lo cual ayuda a mantener el rendimiento, ya que cada cara de un disco posee una cabeza de lectura y escritura propia. Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 38
Organizacin fsica de una base de datos.
La imagen muestra la estructura interna de un disco duro donde fsicamente se encuentra toda la informacin de la mquina que puede ser la misma base de datos.
3.5.1. Organizacin fsica de los sistemas de bases de datos.
Continuando con el tema previo; el especialista de desarrollo de sistemas es quien se interesa en la organizacin fsica para un sistema de base de datos. Sin embargo, el rendimiento general de un sistema de base de datos se determina en gran medida por las estructuras de datos fsicas utilizadas. A pesar de que los usuarios finales no conocen los detalles del diseo fsico de la base de datos, estos afectan el rendimiento de la misma, esto es de suma importancia, pues resulta ser el principal factor de satisfaccin para el usuario de un sistema de base de datos. Tanto el formato como la informacin no son afectados directamente por la organizacin fsica de la base de datos, sin embargo, el tiempo de respuesta s se ve afectado (tiempo de respuesta es el tiempo que transcurre entre la inicializacin de una operacin sobre la base de datos y la disponibilidad de los resultados). Concluyendo con lo anterior, el poco conocimiento en el manejo de ciertas aplicaciones procesadoras de informacin, afectan en muchas de las ocasiones, el rendimientos de programa para procesar datos, sto debido a que por el mal manejo se crean conflictos que aumentan el tiempo de repuesta que puede reflejarse incluso en la prdida de la informacin solicitada. 3.5.2. Acceso fsico a la base de datos.
Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 39 Durante el proceso de acceso fsico a la base de datos el usuario interacta con el sistema de base de datos al momento de iniciar una consulta. El modo selector de estrategia es el que se encarga de interpretar la orden del usuario en una forma ms eficiente para la ejecucin.
La orden que es traducida activa al administrador de buffer, que controla el movimiento de datos entre la memoria principal y el almacenamiento en disco. El administrador de archivos brinda el soporte al administrador de buffer, controlando la reserva. Los datos de los usuarios son almacenados en una base de datos fsica de registros de eventos. La siguiente imagen muestra un ejemplo de formas para el sistema de acceso fsico a la base de datos.
Formas de almacenamiento fsico a la base de datos. Imagen tomada de Hansen y Hansen (1997, p. 324).
Con esta informacin te podrs dar cuenta cul es el recorrido de la informacin hasta llegar al almacenamiento fsico de los datos, siendo el mismo recorrido que hace cuando se realiza una consulta a la base de datos. 3.5.3. Formas de almacenamiento secundario.
Existen ciertas tcnicas o formas de almacenar la informacin de una base de datos, las cuales son ajenas a simplemente el disco duro de una computadora. Es necesario conocerlas para realizar los diferentes respaldos y tener adecuadas formas de poder restaurar la informacin en caso de prdida de datos en una BD.
El almacenamiento secundario, dentro de un sistema de base de datos se compone comnmente por: Almacenamiento en disco. Almacenamiento de forma principal. Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 40 Almacenamientos en cinta. Almacenamiento en forma secuencial y limitada.
Por lo general la base de datos se almacena en disco de forma completa, y algunas porciones son transferidas desde el disco a la memoria primaria, a medida que se van utilizando. El almacenamiento en disco es de forma principal con acceso directo, por tanto los registros individuales pueden ser accesibles de forma directa.
El almacenamiento en cinta magntica es menos costoso que el almacenamiento en disco, sin embargo se puede tener acceso a los registros de forma secuencial y ms lenta, adems de que su funcin en el sistema de base de datos est limitada para archivar datos
Una unidad fsica donde se encuentra integrado el medio de grabacin del disco se llama controlador de disco, el cual contiene un paquete de disco. En la siguiente imagen se pueden observar los componentes bsicos de un paquete de disco y el mecanismo de lectura y escritura que es la transmisin de los datos.
Almacenamiento secundario. Imagen tomada de Hansen y Hansen, op cit, p. 326.
Los datos pueden ser respaldados y colocados en diferentes medios para simplemente recuperar ese respaldo y poderlo accesar, esto puede servir ante situaciones como los casos en los que se pierde informacin que se encuentra en la unidad principal, pero tendra como desventaja el proceso que implica la restauracin de la base de datos para ser consultada; por lo tanto este almacenamiento secundario es recomendado solo para pocos y espordicos accesos. 3.5.4. Factores de rendimiento del disco.
Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 41 Es de suma importancia que conozcas los factores que determinan el buen o mal funcionamiento en cuanto al tiempo se refiere, para dar respuestas a instrucciones requeridas por los usuarios de los sistemas manejadores de bases de datos. A continuacin se mencionarn y definirn cada una de ellos.
Existen cuatro factores que pueden afectar el rendimiento o la velocidad del disco en relacin a los datos que son transferidos al medio de almacenamiento, los cuales son:
Tiempo de posicionamiento. Este factor tambin es conocido como tiempo de bsqueda, es considerado como el tiempo necesario para mover los cabezales de lectura/escritura iniciando en una posicin determinada y posteriormente a una nueva direccin. Tiempo de activacin de la cabeza. Este es el tiempo utilizado par activar de forma electrnica el cabezal que est ubicado sobre la superficie cuando se realiza una transferencia de datos. Retraso de rotacin. La latencia es otro de los factores de tiempo en un medio de almacenamiento, este representa la cantidad de tiempo que es necesario para el bloqueo seleccionado para rotar la cabeza, de tal forma que la transferencia de datos pueda comenzar. Velocidad de transferencia de datos. Es la cantidad del tiempo necesario para transferir los datos desde el disco hasta la memoria principal, esto depender de la velocidad de rotacin y de la cantidad de datos que son almacenados.
Es importante conocer cada uno de los factores mencionados en ste tema, ya que el pleno conocimientos de ellos nos ayudar a contar con informacin rpida y adecuada al momento de ser solicitada o guardada, debido a que si algo llega a suceder, se tomar en cuenta que algunos de stos factores esta actuando o interfiriendo en la toma de decisiones para obtener o guardar informacin.
3.5.5. Formatos de almacenamiento de datos en disco.
Existen diferentes medios fsicos para la manipulacin de datos sobre los discos, entre los cuales se tienen los siguientes:
Formatos de pista. Los registros se almacenan en formatos de cuenta clave, este incluye una clave que es externa al registro de datos; tambin existe el formato de cuenta dato, este incluye una clave interna al registro de datos. Formatos de registros. Los formatos de registros son almacenados sobre las pistas en cualquiera de los formatos fijo y variable. Los registros de longitud fija son de la misma longitud y los registros de longitud variable, permiten que la longitud de cada registro sea variado. Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 42 Gestin de entrada/salida. Basados en los formatos de datos de las operaciones de entrada y salida de un SGDB-
Como te pudiste dar cuenta, el formato en cuestin depender del punto en el que se encuentre la base de datos o justo lo que se encuentre realizando el gestor con los datos. 3.5.6. Organizacin de archivos y mtodos de direccionamiento.
Hasta hoy se conocer algunos mtodos para la organizacin de archivos sobre los dispositivos de almacenamiento, los cuales se mencionan a continuacin:
Organizacin secuencial. La organizacin secuencial de un archivo se basa en que los registros son almacenados de forma adyacente unos con otros, con respecto a la clave de almacenamiento. Organizacin secuencial indexada de un archivo. Este tipo de organizacin consiste en que los archivos se encuentran organizados de forma secuencial, mas es posible acceder directamente a los registros, tiene la ventaja de poder facilitar el acceso a los registros de ambas formas, ya sea secuencial o directamente. Organizacin directa de un archivo. Los registros son almacenados de forma directa de manera simple, conocida como funcin hash la cual pueden ser esttica y dinmica.
Los mtodos a aplicar dependern del sistema gestor de bases de datos, pero es importante que conozcas cules existen.
3.5.7. Correspondencia entre estructuras de datos lgicas y estructuras de datos fsicas.
La aplicacin de un sistema de base de datos se basa en las estructuras de datos lgicas y fsicas, a continuacin se muestran algunas de estas correspondencias entre ambas estructuras. La correspondencia en la base de datos relacional. Se almacena cada relacin como un archivo con un registro para cada fila, generalmente esto es correcto para bases de datos de tamao muy pequeo; tras el aumento de tamao de la base de datos es conveniente que sea almacenado en varias relaciones en un solo archivo.
Correspondencia en la base de datos en red. Dentro de una interrelacin compleja de red muchos a muchos es conveniente modificar como una red simple mediante registros de interseccin. Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 43 Correspondencia en la base de datos jerrquicos. Al igual que la correspondencia en red, en esta correspondencia tambin se pueden utilizar mltiples punteros en los registros padres en las relaciones de una jerarqua o rbol.
Acabas de conocer como se deben de estructurar las bases de datos segn vayan cambiando o se vayan modificando, esto se debe debido a que la correspondencia de datos no es igual, ya que en un principio una base de datos puede ser pequea y ordenada, pero conforme va pasando el tiempo, puede aumentar, causando desorden el los datos internos. Actividad 3. Cliente-Servidor-datos
Los grandes volmenes de informacin requieren cada vez respuestas de consulta ms eficaces, y ante ello los lenguajes como el SQL son una de las herramientas que proporcionan esas respuestas, solo que es necesario saber hacer la pregunta correcta para obtener la respuesta que se desea. Lo mismo sucede con las consultas: esta informacin debe estar asociada a un buen sistema de almacenamiento, como lo pudiste ver a lo largo de estos temas. Propsito: La presente actividad tiene como propsito que reflexiones sobre los temas estudiados y que con ellos logres implementar un sistema de base de datos cliente servidor, adems de la organizacin fsica de estos datos.
Antes de comenzar, debers plantearte las siguientes preguntas: En dnde puedo realizar una consulta con grficos? Qu sistemas gestores de datos la utilizan? Como puedo elaborar una consulta que muestre toda la informacin de una tabla llamada consultas? Para qu sirve el smbolo * al momento de hacer una consulta? Para qu sirve el innerjoin y el groupby en una consulta? Cmo funciona una base de datos en un sistema cliente servidor? Cmo est organizada fsicamente la informacin en una base de datos?
Ahora lee detenidamente cada una de las instrucciones y contesta lo que se te pide con dedicacin:
1. Retoma la lecturas de los temas 3.3, 3.4 y 3.5 2. Arma tus propios conceptos acerca de cada uno de los temas, para ello bsate en las preguntas que se te pidi que reflexionaras. 3. Ingresa al foro y genera una nueva entrada, opina sobre la de tus compaeros y junto con tu profesor creen una conclusin general de cada tema.
Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 44 Autoevaluacin
Para reforzar los conocimientos relacionados con los temas que se abordaron en esta tercera unidad del curso, es necesario que resuelvas la Autoevaluacin. Recuerda que es muy importante leer cuidadosamente los planteamientos indicados y elegir la opcin adecuada para cada uno.
Evidencia de aprendizaje. Bases de datos en base a un caso
Una vez estudiado los captulos de la unidad es de suma importancia que se ejercite el conocimiento, debido a que con ste tipo de actividad, se puede reforzar lo aprendido e identificar en que punto no quedo tan claro el conocimiento. El propsito de la actividad es realizar una base de datos en SQL y ensayar las operaciones de creacin de base de datos en base a comandos, realizacin de consultas en base a operadores del lgebra relacional y conocer el proceso de almacenamientos de las base de datos, las cuales, como se mencion, van desde el aspecto fsico, hasta el conceptual y lgico.
Instrucciones: 1. Lee con atencin el siguiente caso y realiza lo que se te pide en los puntos siguientes. Observa que despus del caso que te presentan las tablas que tendra las bases de datos y los atributos de cada una de ellas: Una pequea empresa distribuidora de productos requiere un sistema de base de datos que le ayude a controlar el procesamiento de los pedidos, dicha base de datos se llamar VentasProductos y est compuesta por las siguientes tablas: Clientes: Contiene una fila por cada uno de los clientes de la empresa. Sus campos son: nmero de cliente, nombre de la empresa, nombre de la persona de contacto de la empresa y lmite de crdito. RepresentanteVentas: Contiene una fila por cada uno de los vendedores de la empresa. Sus campos son: nmero de empleado, nombre edad, nmero de la oficina en la que trabaja el vendedor, ttulo, fecha de contratacin, id del director del empleado (todo empleado tiene un director del cual depende), cuota de ventas previstas y nmero de ventas realizadas. Oficinas: Contiene una fila por cada una de las oficinas en las que trabajan los vendedores. Sus campos son: nmero de oficina, ciudad, regin, ventas realizadas y objetivo de ventas. Productos: Contiene una fila por cada producto disponible para ventas. Sus campos son: id del producto, descripcin, precio y existencia. Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 45 Pedidos. Contiene una fila por cada pedido ordenado por un cliente: Por simplicidad, se supone que cada pedido solo puede ser un solo producto. Sus campos son: nmero, fecha del pedido, nmero del cliente que hizo el pedido, nmero de empleado que realiz el pedido, el id del producto que fue pedido, la cantidad y el importe.
1. Crea los modelos para la base de datos del caso presentado (E-R y Relacional). 2. Crea la BD VentasProductos en SQL server 2008, en base a comandos. 3. Crea las tablas que se mencionan en el caso, con sus respectivos atributos, con instrucciones de SQL. 4. Inserta por lo menos cinco registros a cada tabla por medio de comandos con instrucciones SQL. 5. Realiza por lo menos diez consultas diferentes de las que se presentaron en la unidad, utilizando algunos operadores lgicos, y observa lo que sucede. 6. Guarda todas estas instrucciones en un documento de Word, con el nombre DBD_U3_INSTRUCCIONESSQL_XXYZ. Enva el archivo a tu Facilitador(a). 7. Consulta la escala de evaluacin.
Cierre de la unidad
Has concluido la tercera unidad del curso. A lo largo de esta se trataron conceptos bsicos sobre lgebra relacional, clculo relacional, SQL y dispositivos de almacenamiento, adems de que aprendiste a realizar bases de datos utilizando comandos y realizar consultas de los datos almacenados en ellas, dependiendo de las necesidades que pudiera tener el usuario; asimismo, cuentas con el conocimiento sobre los diferentes dispositivos de almacenamiento para el guardado de las bases de datos. Todo lo que aprendiste es de suma importancia, debido a que generars de forma correcta bases de datos tiles y confiables, adems de que tendrs la satisfaccin de que la informacin que se muestre al realizar una consulta es fiable y adecuada a lo que el cliente te pida. Es aconsejable que revises nuevamente la unidad en caso de que los temas que se acaban de mencionar no te sean familiares o no los recuerdes, de no ser este tu caso, felicidades, has terminado tu curso de bases de datos!
Para saber ms
Diseo de bases de datos Unidad 3. Implementacin de Bases de datos
Ciencias Exactas, Ingenieras y Tecnologa |Ingeniera en Desarrollo de Software 46 Manual de instalacin SQL Server 2000, http://sabd15n2.wikispaces.com/file/view/manual+de+instalacion+de+sql+server.pdf
Manual de instalacin SQL Server 2008, ruta: http://es.scribd.com/doc/33502653/Manual-de-Instalacion-SQL-Server-2008 Fuentes de consulta
Date, C.J. (2001) Introduccin a los Sistemas de Bases de Datos, 7ma Edicin. Mxico: Ed. Addisson Wesley Longman. Hansen, G. W., y Hansen, J.V- (1997)- Diseo y administracin de bases de datos, 2da. Edicin Prentice Hall.
Silberschatz A. & H. F. (2002) Fundamentos de Bases de Datos, 4ta Edicin. Espaa: Mc Graw Hill.
Ramez, E. y Shamkant, B. (2007). Sistemas de Bases de Datos, 2da Edicin. Espaa: Ed. Navathe