Está en la página 1de 10

2.1.

-El Proceso de diseo Si usa un proceso de diseo de base de datos establecido, puede crear de forma rpida y efectiva una base de datos bien diseada que le proporciona acceso conveniente a la informacin que desea. Con un diseo slido tardar menos tiempo en construir la base de datos y obtendr resultados ms rpidos y precisos. Nota Los trminos "base de datos" y "tabla" no son sinnimos en Visual FoxPro. El trmino base de datos (archivo .dbc) se refiere a una base de datos relacional que almacena informacin sobre una o ms tablas (archivos .dbf) o vistas. La clave para obtener un diseo de base de datos eficaz radica en comprender exactamente qu informacin se desea almacenar y la forma en que un sistema de administracin de bases de datos relacionales, como Visual FoxPro, almacena los datos. Para ofrecer informacin de forma eficiente y precisa, Visual FoxPro debe tener almacenados los datos sobre distintos temas en tablas separadas. Por ejemplo, puede haber una tabla donde slo se almacenen datos sobre empleados y otra tabla que slo contenga datos de ventas. Al organizar los datos de forma apropiada, proporciona flexibilidad a la base de datos y tiene la posibilidad de combinar y presentar informacin de muchas formas diferentes. Al disear una base de datos, en primer lugar debe dividir la informacin que desea almacenar como temas distintos y despus indicar a Visual FoxPro cmo se relacionan estos temas para que pueda recuperar la informacin correcta cuando sea necesario. Si mantiene la informacin en tablas separadas facilitar la organizacin y el mantenimiento de los datos y conseguir aplicaciones de alto rendimiento. A continuacin se indican los pasos que hay que seguir en el proceso de diseo de una base de datos. Cada paso se trata con mayor detalle en los temas restantes de esta seccin. 1. Determinar el propsito de la base de datos Este paso le ayudar a decidir los datos que desea que Visual FoxPro almacene. 2. Determinar las tablas necesarias Cuando ya conozca claramente el propsito de la base de datos, puede dividir la informacin en temas distintos, como "Employees" u "Orders". Cada tema ser una tabla de la base de datos. 3. Determinar los campos necesarios Tiene que decidir la informacin que desea incluir en cada tabla. Cada categora de informacin de una tabla se denomina campo y se muestra en forma de columna al examinar la tabla. Por ejemplo, un campo de la tabla Employee podra ser Last_name y otro podra ser Hire_date. 4. Determinar las relaciones Observe cada tabla y decida cmo se relacionan sus datos con los de las tablas restantes. Agregue campos a las tablas o cree tablas nuevas para clarificar las relaciones, si es necesario. 5. Perfeccionar el diseo Busque errores en el diseo. Cree las tablas y agregue algunos registros de datos de ejemplo. Vea si puede obtener los resultados que desea de sus tablas. Haga los ajustes necesarios al diseo.

2.2.-Modelo de E-R

El Modelo Entidad-Relacin.
1. Se elabora el diagrama (o diagramas) entidad-relacin. 2. Se completa el modelo con listas de atributos y una descripcin de otras restricciones que no se pueden reflejar en el diagrama. Dado lo rudimentario de esta tcnica se necesita cierto entrenamiento y experiencia para lograr buenos modelos de datos. El modelado de datos no acaba con el uso de esta tcnica. Son necesarias otras tcnicas para lograr un modelo directamente implementable en una base de datos. Brevemente:

Transformacin de relaciones mltiples en binarias. Normalizacin de una base de datos de relaciones (algunas relaciones pueden transformarse en atributos y viceversa). Conversin en tablas (en caso de utilizar una base de datos relacional).

2.3.-Restricciones de BD Restricciones Una restriccin es una condicin que obliga el cumplimiento de ciertas condiciones en la 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. Las restricciones proveen un mtodo de implementar reglas en la base de datos. Las restricciones restringen los datos que pueden ser almacenados en las tablas. Usualmente se definen usando expresiones que dan como resultado un valor booleano, indicando si los datos satisfacen la restriccin o no. Las restricciones no son parte formal del modelo relacional, pero son incluidas porque juegan el rol de organizar mejor los datos. Las restricciones son muy discutidas junto con los conceptos relacionales. 2.4.-Diagramas E-R

2.5.-Diseo con diagrama E-R

Entidad
Representa una cosa u "objeto" del mundo real con existencia independiente, es decir, se diferencia unvocamente de cualquier otro objeto o cosa, incluso siendo del mismo tipo, o una misma entidad. Algunos Ejemplos:

Una persona. (Se diferencia de cualquier otra persona, incluso siendo gemelos). Un automvil. (Aunque sean de la misma marca, el mismo modelo,..., tendrn atributos diferentes, por ejemplo, el nmero de bastidor). Una casa (Aunque sea exactamente igual a otra, an se diferenciar en su direccin).

Una entidad puede ser un objeto con existencia fsica como: una persona, un animal, una casa, etc. (entidad concreta); o un objeto con existencia conceptual como: un puesto de trabajo, una asignatura de clases, un nombre,etc. (entidad abstracta). Una entidad est descrita y se representa por sus caractersticas o atributos. Por ejemplo, la entidad Persona puede llevar consigo las caractersticas: Nombre, Apellido, Gnero, Estatura, Peso, Fecha de nacimiento, etc... Atributos Los atributos son las caractersticas que definen o identifican a una entidad. Estas pueden ser muchas, y el diseador solo utiliza o implementa las que considere ms relevantes. Los atributos son las propiedades que describen a cada entidad en un conjunto de entidades. En un conjunto de entidades, cada entidad tiene valores especficos asignados para cada uno de sus atributos, de esta forma, es posible su identificacin unvoca. Ejemplos:

A la coleccin de entidades alumnos, con el siguiente conjunto de atributos en comn, (id, nombre, edad, semestre), pertenecen las entidades:

(1, Sofa, 38 aos, 2) (2, Josefa, 19 aos, 5) (3, Carlos, 20 aos, 2) ...

Cada una de las entidades pertenecientes a este conjunto se diferencia de las dems por el valor de sus atributos. Ntese que dos o ms entidades diferentes pueden tener los mismos valores para algunos de sus atributos, pero nunca para todos. En particular, los atributos identificativos son aquellos que permiten diferenciar a una instancia de la entidad de otra distinta. Por ejemplo, el atributo identificativo que distingue a un alumno de otro es su nmero de id. Para cada atributo, existe un dominio del mismo, este hace referencia al tipo de datos que ser almacenado o a restricciones en los valores que el atributo puede tomar (cadenas de caracteres, nmeros, solo dos letras, solo nmeros mayores que cero, solo nmeros enteros...). Cuando algn atributo correspondiente a una entidad no tiene un valor determinado, recibe el valor nulo, bien sea porque no se conoce, porque no existe o porque no se sabe nada al respecto del mismo. [editar] Relacin Describe cierta dependencia entre entidades o permite la asociacin de las mismas. Ejemplo: Dadas dos entidades "Habitacin 502" y "Mark", es posible relacionar que la habitacin 502 se encuentra ocupada por el husped de nombre Mark. Una relacin tiene sentido al expresar las entidades que relaciona. En el ejemplo anterior, un husped (entidad), se aloja (relacin) en una habitacin (entidad).

2.6.-Conjunto de Entidades Deviles

Entidades fuertes y dbiles


Cuando una entidad participa en una relacin puede adquirir un papel fuerte o dbil. Una entidad dbil es aquella que no puede existir sin participar en la relacin, es decir, aquella que no puede ser unvocamente identificada solamente por sus atributos. Una entidad fuerte (tambin conocida como entidad regular) es aquella que s puede ser identificada unvocamente. En los casos en que se

requiera, se puede dar que una entidad fuerte "preste" algunos de sus atributos a una entidad dbil para que, esta ltima, se pueda identificar. Las entidades dbiles se representan- mediante un doble rectngulo, es decir, un rectngulo con doble lnea.

2.7.-Entidad de Relacin Extendida


El nombre de las relaciones se puede repetir pero no as su atributo si es que lo tiene y este nombre de atributo deber de ser nico en todo el diagrama. Una entidad deber relacionarse al menos con otra entidad. Para la creacin de una entidad esta deber de tener por lo menos dos atributos. Una relacin deber de tener al menos dos entidades con caractersticas comunes.

Al ser el modelo entidad-relacin extendido un grafo no dirigido ese de deber de poder leer desde cualquier punto, y deber de tener una lgica de lectura.

Un conjunto de entidades se define como la unin de cada una de las instancias de la entidad. Entidad cierta - tiene informacin (instancia 2.8.-Otros aspectos del Diseo de Base de Datos

Diseo de Bases de Datos Son muchas las consideraciones a tomar en cuenta al momento de hacer el diseo de la base de datos, quiz las ms fuertes sean:

La velocidad de acceso, El tamao de la informacin, El tipo de la informacin, Facilidad de acceso a la informacin, Facilidad para extraer la informacin requerida, El comportamiento del manejador de bases de datos con cada tipo de informacin.

No obstante que pueden desarrollarse sistemas de procesamiento de archivo e incluso manejadores de bases de datos basndose en la experiencia del equipo de desarrollo de software logrando resultados altamente aceptables, siempre es recomendable la utilizacin de determinados estndares de diseo que garantizan el nivel de eficiencia mas alto en lo que se refiere a almacenamiento y recuperacin de la informacin. De igual manera se obtiene modelos que optimizan el aprovechamiento secundario y la sencillez y flexibilidad en las consultas que pueden proporcionarse al usuario. OBJETIVOS DEL DISEO DE BASES DE DATOS Entre las metas ms importantes que se persiguen al disear un modelo de bases de datos, se encuentran las siguientes que pueden observarse en esta figura.

2.9.-Entidad de Relacion UML Es el lenguaje de modelado de sistemas de software ms conocido y utilizado en la actualidad; est respaldado por el OMG (Object Management Group). Es un lenguaje grfico para visualizar, especificar, construir y documentar un sistema. UML ofrece un estndar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocio y

funciones del sistema, y aspectos concretos como expresiones de lenguajes de programacin, esquemas de bases de datos y componentes reutilizables. Es importante resaltar que UML es un "lenguaje de modelado" para especificar o para describir mtodos o procesos. Se utiliza para definir un sistema, para detallar los artefactos en el sistema y para documentar y construir. En otras palabras, es el lenguaje en el que est descrito el modelo. Se puede aplicar en el desarrollo de software entregando gran variedad de formas para dar soporte a una metodologa de desarrollo de software (tal como el Proceso Unificado Racional o RUP), pero no especifica en s mismo qu metodologa o proceso usar. UML no puede compararse con la programacin estructurada, pues UML significa Lenguaje Unificado de Modelado, no es programacin, solo se diagrama la realidad de una utilizacin en un requerimiento. Mientras que, programacin estructurada, es una forma de programar como lo es la orientacin a objetos, sin embargo, la programacin orientada a objetos viene siendo un complemento perfecto de UML, pero no por eso se toma UML slo para lenguajes orientados a objetos. 3.1.-Estructura bsica de BD El archivo por s mismo, no constituye una base de datos, sino ms bien la forma en que est organizada la informacin es la que da origen a la base de datos. Las bases de datos manuales, pueden ser difciles de gestionar y modificar. Por ejemplo, en una gua de telfonos no es posible encontrar el nmero de un individuo si no sabemos su apellido, aunque conozcamos su domicilio. Del mismo modo, en un archivo de pacientes en el que la informacin est desordenada por el nombre de los mismos, ser una tarea bastante engorrosa encontrar todos los pacientes que viven en una zona determinada. Los problemas expuestos anteriormente se pueden resolver creando una base de datos informatizada. Desde el punto de vista informtico, una base de datos es un sistema formado por un conjunto de datos almacenados en discos que permiten el acceso directo a ellos y un conjunto de programas que manipulan ese conjunto de datos. Desde el punto de vista ms formal, podramos definir una base de datos como un conjunto de datos estructurados, fiables y homogneos, organizados independientemente en mquina, accesibles a tiempo real, compartibles por usuarios concurrentes que tienen necesidades de informacin diferente y no predecibles en el tiempo. La idea general es que estamos tratando con una coleccin de datos que cumplen las siguientes propiedades:

Estn estructurados independientemente de las aplicaciones y del soporte de almacenamiento que los contiene. Presentan la menor redundancia posible. Son compartidos por varios usuarios y/o aplicaciones.

3.2.-Esquema de BD

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. 3.3.-Claves Una clave primaria es aquella columna (o conjunto de columnas) que identifica nicamente a una fila. La clave primaria es un identificador que va a ser siempre nico para cada fila. Se acostumbra a poner la clave primaria como la primera columna de la tabla pero es ms una conveniencia que una obligacin. Muchas veces la clave primaria es numrica auto-incrementada, es decir, generada mediante una secuencia numrica incrementada automticamente cada vez que se inserta una fila. En una tabla puede que tengamos ms de una columna que puede ser clave primaria por s misma. En ese caso se puede escoger una para ser la clave primaria y las dems claves sern claves candidatas. Una clave ajena (foreign key o clave fornea) es aquella columna que existiendo como dependiente en una tabla, es a su vez clave primaria en otra tabla. Una clave alternativa es aquella clave candidata que no ha sido seleccionada como clave primaria, pero que tambin puede identificar de forma nica a una fila dentro de una tabla. Ejemplo: Si en una tabla clientes definimos el nmero de documento (id_cliente) como clave primaria, el nmero de seguro social de ese cliente podra ser una clave alternativa. En este caso no se us como clave primaria porque es posible que no se conozca ese dato en todos los clientes. Una clave compuesta es una clave que est compuesta por ms de una columna. La visualizacin de todas las posibles claves candidatas en una tabla ayudan a su optimizacin. Por ejemplo, en una tabla PERSONA podemos identificar como claves su DNI, o el conjunto de su nombre, apellidos, fecha de nacimiento y direccin. Podemos usar cualquiera de las dos opciones o incluso todas a la vez como clave primaria, pero es ms ptimo en la mayora de sistemas la eleccin del menor nmero de columnas como clave primaria 3.4.-Lenguajes de Consultas Un lenguaje de consulta es un lenguaje informtico usado para hacer consultas en bases de datos y sistemas de informacin. Los lenguajes de consulta pueden ser clasificados de acuerdo a si son lenguajes de consulta de bases de datos o lenguajes de consulta de recuperacin de informacin. Algunos ejemplos son:

.QL es un lenguaje de consulta propietario orientado a objetos para consultar bases de datos relacionales;1 Common Query Language (CQL) un lenguaje formal para representar consultas para sistemas de recuperacin de informacin como ndices web o catlogos bibliogrficos.

CODASYL; D es un lenguaje de consulta para sistemas de administracin de bases de datos verdaderamente relacionales (truly relational database management systems - TRDBMS);2 DMX es un lenguaje para modelos de minera de datos; Datalog es un lenguaje de consulta para bases de datos deductivas; ERROL es un lenguaje de consulta sobre el modelo entidad-relacin (ERM), especialmente diseado para bases de datos relacionales; Gellish English es un lenguaje que puede ser usado para consultas en bases de datos Gellish English,3 para dilogos (pedidos y respuestas) como tambin para modelado de informacin y modelado de conocimiento; ISBL es un lenguaje de consulta para PRTV, uno de los ms recientes sistemas de administracin de bases de datos; LDAP es un protocolo de aplicacin para consultar y modificar servicios de directorios corriendo sobre TCP/IP. MQL es un lenguaje de consulta de quimioinformtica para bsqueda de subestructuras permitiendo propiedades nominales y numricas; MDX es un lenguaje de consulta para bases de datos OLAP; OQL es un lenguaje de consulta de objetos; OCL (Object Constraint Language - lenguaje de restricciones de objetos). Pese a su nombre, OCL es tambin un lenguaje de consulta de objetos y un estndar OMG. OPath, pensado para el uso consultando almacenes WinFS; Poliqarp Query Language es un lenguaje de consulta especial diseado para analizar texto con anotaciones. Usado en el motor de bqueda Poliqarp;4 QUEL es un lenguaje de acceso a bases de datos relacionales, muy similar a SQL; SMARTS es el estndar de quimioinformtica para bsqueda de subestructuras;5 SPARQL es un lenguaje de consulta para grafos RDF; SQL es un lenguaje de consulta muy reconocido para bases de adatos relacionales; SuprTool es un lenguaje de consulta propietario para SuprTool, 6 un programa de acceso a bases de datos para obtener datos en Image/SQL (TurboIMAGE) y bases de datos Oracle; TMQL Topic Map Query Language es un lenguaje de consulta para Topic Maps; XQuery es un lenguaje de consulta para fuentes de datos XML;