Programa de Estudios:
ANALISTA PROGRAMADOR
INDICE
|Tema |Página |
| Desventajas |7 |
| Redundancia no controlada |7 |
| Inconsistencia de Datos |7 |
| Inflexibilidad |7 |
| Pobre estandarización |7 |
| Excesiva Mantencion |7 |
| 1.2 Enfoque de bases de datos |9 |
| Operacionales | |
| Administrativos | |
| | |
| Jerárquicas |18 |
| De red |17 |
| Relacional |19 |
| Recursivas |23 |
| | |
| 3.5 Dependencia | |
| 3.6 Tiempo | |
| 3.7 Unicidad | |
| Jerárquico |28 |
| De red |31 |
| Relacional |31 |
| Funciones |46 |
| Procesos |47 |
| Actividades | |
| Paso 3: Indexación | |
| | |
| Create |66 |
| Alter |66 |
| Drop |66 |
| Select |67 |
| Insert |67 |
| Delete |67 |
| Update |67 |
| De cadena | |
| De fecha | |
Un diagrama de estructura de árbol es el esquema de una base de datos. Tiene dos componentes
básicos, Registros y Ligas.
Estos diagramas son similares a los de estructuras de datos en el modelo en red. La diferencia
radica en que el modelo de red los registros se organizan en forma de un grafo arbitrario, mientras
que el modelo jerárquico en forma de un árbol con raíz.
1. No hay ciclos
2. De padre a hijos son válidas las relaciones de uno a uno a uno a muchos
El esquema de una base de datos jerárquica se presenta como una colección de diagramas de
estructuras de árbol. Para cada diagrama existe una única instancia de árbol base de datos. La raíz
de este árbol es un nodo ficticio. Los hijos de ese nodo son instancias del tipo de registros
adecuados:
Base de datos en la cual la información está almacenada en forma de tablas, y que permite
establecer relaciones entre distintas entidades por medio de campos en común; por ejemplo,
código de cliente en factura y en archivo de clientes.
6. Tipos de relaciones.
Uno a Uno:
Relaciones uno a uno (1:1). Una entidad A está asociada a lo más con una entidad B, y una
entidad B a lo más con una entidad A. Ejemplo: ͞Ser jefe de͟ es una relación uno a uno entre las
entidades empleado y departamento.
Uno a Muchos:
Relaciones Uno a Muchos (1 : n). Una entidad A está asociada con una o varias entidades B. Una
entidad B, sin embargo, puede estar a lo más asociada con una entidad A. Ejemplo: ͞Ser profesor͟
es una relación 1: n entre profesor y curso, suponiendo que un curso sólo lo dicta un profesor.
Muchos a muchos
Relaciones Muchos a Muchos (n : m). Una entidad A está asociada con una o varias entidades B,
y una entidad B está asociada con una o varias entidades B, y una entidad B está asociada con una
o varias entidades A. Ejemplo: ͞Estar inscrito͟ es una relación n : m entre las entidades alumno y
curso
datos, el modo de compartirlos con otros programas y como se reorganizan para mejorar el
rendimiento del sistema de bases de datos͟.
Para conseguir esta independencia entre los datos y las aplicaciones es necesario separar la
representación física y lógica de los datos, distinción que fue reconocida oficialmente en 1978,
cuando el comité ANSI/X3/SPARC propuso un esqueleto generalizado para sistemas de bases de
datos. Este esqueleto propone una arquitectura de tres niveles, los tres niveles de abstracción
bajo los que podría verse una base de datos: el nivel interno, el nivel conceptual y el nivel externo.
ͻ Hijos : Son los nodos vinculados con otros del nivel superior los hijos de B son E, F, G.
ͻ Hojas : Reciben este nombre los nodos que no tienen hijos. (C, H )
El Enfoque de Red
Una estructura de datos en RED, también llamada estructura PLEX, se caracteriza porque cada
nodo hijo puede tener más de un padre, a diferencia de la estructura en árbol en la que un hijo
sólo podía tener un padre.
El nodo C tiene dos padres A y B. Lo mismo sucede con en nodo H cuyos padres son D Y
E
3.12 Normalización
La relación universal
Supongamos que se desea implantar en una base de datos las ventas de una determinada
empresa a sus clientes por la relación ORDENES-VENTA (NCLI, NOMBRE, LOCALIDAD, CT, NART,
ARTICULO, CANT, PVP, FECHA), donde NCLI es el número del cliente, CT es el costo de transporte y
NART el número de artículo. La implantación, tal como indica la Figura 1, no se puede realizar
debido a la gran cantidad de información redundante y los problemas que surgen a la hora de las
actualizaciones.
Relación ORDENES-VENTA
DEPENDENCIA FUNCIONAL: DF
La dependencia funcional está íntimamente ligada con el concepto de clave. Para el diseño, las
claves aparecen subrayadas.
Para encontrar la clave candidata es preciso estudiar las dependencias funcionales y, a partir de
ellas, obtener el mínimo conjunto posible de atributos tales que, una vez conocidos sus valores en
la tupla, los demás queden definidos
NCLI NOMBRE
NCLI LOCALIDAD
En forma abreviada:
El atributo NCLI es un determinante de los atributos NOMBRE y LOCALIDAD. Dicho de otra forma:
por cada NCLI sólo puede haber un NOMBRE y una
LOCALIDAD LOCALIDAD
NART CANT
FECHA
Relación CLIENTES
|A1 |Papel |5 |
Dependencia transitiva
A B C.
En un diagrama de dependencia funcional, C es transitivamente dependiente de A si se tiene la
siguiente situación:
Relación R A B, C
Se puede descomponer en dos relaciones por la proyección del último eslabón de la forma;
Relación R1 A B
Relación R2 A C
NART CANT
FECHA
| |PROCESOS DE APOYO | |
| |Gestión de adquisiciones | |
| |Gestión de operaciones | |
| |Gestión de ventas | |
| |Gestión de servicio | |
| |PROCESOS PRINCIPALES | |
[pic]
[pic]
Casos especiales:
[pic]
Reglas de transformación
1.-Transformación de Dominios
2.-Transformación de entidades
| |
|OBJETIVOS: |
|COD_ART | |QTY_ART | | |
|
|QTY_ART | | | | | |
| OBJETIVOS: |
| CONTENIDO: INSERT |
|[column_name |
|[,colum_name. ... ] ] |
|VALUES (column_value |
|[, column_value ] ); |
|Sucursal | |ARTiculo |
|1 |Harvey Bigcheese | |
|EMPleado |
|27 | | | | |
|30 | | | | |
|32 | | | | |
|33 | | | | |
|35 | | | | |
|37 | | | | |
|VENta |
|CLIente |
| |
|OBJETIVOS: |
FUNCIONES INTEGRADAS
| |
|OBJETIVOS: |
| OBJETIVOS: |
| |
|OBJETIVOS: |
|ORDENES: |
|- UPDATE |
|- DELETE Y DROP |
|- CREATE VIEW |
-----------------------
MANUAL
Para iniciar el tema es necesario que demos una mirada introductoria a algunos conceptos
elementales de análisis de sistemas tradicionales que son la base para una adecuada comprensión
del enfoque por agregación y del enfoque de base de datos.
Recursos logísticos:
Los recursos logísticos son los que permiten cumplir la transformación de los datos. En general
estos recursos son de tipo humano, físicos, equipos computacionales, software, datos históricos,
algoritmos y procedimientos, que posibilitan guiar la secuencia y la forma de diferentes acciones
que determinan la forma en que se transforman los datos
Procesos de transformación:
Se nutren de datos de entrada y recursos logísticos que logren la transformación de los datos.
Datos de entrada:
Los datos de entrada se obtienen de tres vertientes, datos primarios o los provenientes de
procesos internos, de datos obtenidos de cómo se tomaron las decisiones pasadas y desde los
resultados de las acciones llevadas a buen termino por la organización.
Objetivos y Metas:
Toda empresa debe cumplir sus metas y objetivos, de lo contrario no se justifica, por tanto debe
cautelar que los resultados de la gestión de cada uno de los niveles administrativos de la
organización sea lo más eficiente y efectiva posible. Las metas y objetivos son el resultado de
acciones generadas por decisiones tomadas por los diferentes niveles de la estructura de toma de
decisiones.
Toma de decisiones:
Las decisiones que se adoptan a través del proceso de toma de decisiones son apoyadas y los
problemas que surgen son enfrentados con información ( relevante y oportuna).
Procedimientos administrativos:
Para llevar a buen fin las actividades administrativas mencionadas la organización implementa un
conjunto de procedimientos administrativos.
La toma de decisiones en un SIA se establece en tres niveles, las estructuradas o programables, las
semi-estructuradas, las no estructuradas o no programables.
Respecto de la toma de decisiones no estructuradas, son aquellas que se toman por expertos y no
es posible desarrollar un algoritmo que automatice tal proceso heurístico.
Niveles de decisión:
Los Sias proporcionan información para la toma de decisiones a tres niveles de decisión, nivel de
planeamiento estratégico, niveles de control de gestión y operativo.
Los informes que proporcionan los Sias a este nivel contienen en general: información actualizada
de la base de datos, estimaciones a futuro, basada en la información actualizada de la base de
datos e información que pone el énfasis en situaciones excepcionales.
Esta relacionado con la implementación de las diversas actividades que componen la operación de
la organización para lograr los objetivos aplicando los recursos de acuerdo a las políticas
establecidas. Los informes que apoyan la toma de decisiones a nivel de control operacional se
caracterizan por incluir: transacciones rutinarias, datos utilizados en tareas simples y repetitivas
cuyo origen esta establecido claramente.
SIA puntual, se caracteriza por apoyar la toma de decisiones en una función especifica dentro de la
organización. Por ejemplo: Sias para la gestión de existencias.
SIA integral, se caracteriza por cubrir todas las actividades de la organización, pudiendo incluir los
denominados SIAS puntuales.
5. El SIA provee todos los procedimientos administrativos y documentación necesaria que hacen
posible operar las diferentes actividades del SIA.
Cuando la organización implementa los SIAS por primera vez lo hacen para resolver problemas
puntuales que apoyan la toma de decisiones y controlar el logro de sus metas y objetivos.
Ahora la planificación para el desarrollo de un SIA que aplica el enfoque por agregación, se
caracteriza por implementar SIAS puntuales independientes uno de otros con una interacción
mínima entre ellos y que apenas comparten recursos. Estos SIAS puntuales se desarrollan uno
sobre el otro a medida que se van necesitando, originando problemas como la conocida
duplicidad de información.
1. Los SIAS se desarrollan en forma independiente entre sí, sin compartir recursos ni interacción.
2. Pueden existir datos con la misma denominación pero con valores distintos por provenir de
fuentes distintas, ser interpretados en forma distinta, poseer procesos de actualización que
obedezcan a acontecimientos distintos.
3. Los mismos datos pueden derivar en resultados diferentes dependiendo del SIA y sus
procesos.
Respecto del diseño de los SIAS aplicando el enfoque por agregación, surgen las siguientes
consecuencias:
1. Al diseñar un SIA bajo este enfoque resulta compleja la delimitación del mismo, dado que las
funciones administrativas están interrelacionadas entre sí.
2. Los datos se encuentran distribuidos en diversos SIAS, lo que implica dificultades al momento
de establecer las fuentes de información u origen de datos para el sistema.
1. Implica la creación de nuevos archivos con datos ya existentes en otros, así como nuevos
datos.
Otro programa de esta era de los sistemas de procesamiento de archivos es el conocido corte de
control, aplicado para producir informes de acuerdo a un criterio de agrupamiento de datos. Es el
caso de la cartola mensual de una cuenta corriente, allí las transacciones u operaciones son
ordenadas por fecha.
1. Redundancia no controlada
2. Inconsistencia de datos
3. Inflexibilidad
5. Pobre estandarización
7. Excesiva Mantención
Los datos de la organización son contemplados como un recurso fundamental de esta, del mismo
modo que el capital, los recursos humanos y otros. Por lo tanto se le da un manejo, control y uso
eficiente y efectivo.
Los archivos centralizados son accesibles por las aplicaciones y los usuarios según sus
necesidades.
Incluye dispositivos de acceso directo y pantallas que facilitan la interrogación por parte del
usuario.
Permite establecer distintos tipos de usuarios con distintos tipos de accesos centralizados.
Incluye software que facilita la interrogación de la base de datos para los distintos niveles de
usuarios.
Antes de contemplar los elementos del enfoque de base de datos es necesario examinar las
funciones que deben incluirse en la implementación de este enfoque. Para la implementación del
enfoque de base de datos se debe distinguir las siguientes funciones:
1. Administración de la información:
2. Almacenamiento de datos:
Proporciona las facilidades necesarias para definir, acceder, manejar, recuperar y controlar los
datos que se encuentran en la base de datos. Esta función es apoyada por el denominado SABD
sigla de sistema administrador de base de datos, este software interactúa fuertemente con el
sistema operativo.
5. Demanda:
Debe agrupar todos los usuarios de la base de datos, que aprovechan las facilidades provistas
por el SABD. Se entiende por usuarios a los que toman decisiones, los sistemas de información
administrativos, los programadores, analistas de sistemas y otros.
3. Diseñar los procedimientos administrativos para que los usuarios puedan utilizar los datos de
la base de datos y del diccionario de datos. ( que contiene identificación, caracterización y
estructura de los datos de la base de datos)
En la determinación de requerimientos de información el AI tiene en cuenta que la creación y
Mantención de la base de datos debe ser segura, confiable y fiable. Entre las actividades del AI
para identificar la información a incluir en la base de datos están:
7. Analizar las alternativas costo / beneficio para la organización acerca de tener una base de
datos que satisfaga los requerimientos de todos los usuarios.
8. Analizar los errores encontrados por los usuarios, con el fin de colaborar en futuras
reestructuraciones de la base de datos.
Los elementos de una base de datos son los archivos integrados y él catálogo.
ͻ Se entiende por archivos integrados aquellos archivos que han sido modelados y
estructurados de tal forma que se encuentran relacionados entre sí permitiendo su interrogación.
Los SABD proporcionan las herramientas necesaria para la producción de este tipo de archivos,
denominadas lenguajes de definición de datos ( LDD), además de lenguajes de manipulación de
datos ( LMD) para interrogar la base de datos.
B. Administrador de SABD
3. Habilitación de facilidades que originen una optima implementación del SABD, como interfaz
de usuarios, mecanismos de seguridad, integridad, privacidad, validación, verificación entre otros.
4. Supervisión del uso dado por el usuario de las facilidades otorgadas por el SABD.
El ASABD, en conjunto con el AI deben determinar como traducir y satisfacer los requerimientos
de información de los usuarios. Para ello, previo a la implementación del SABD, tanto el ASABD
como el AI tienen las siguientes responsabilidades:
El diseño físico de la base de datos es labor del ASABD, realizando las siguientes actividades:
1. Coordinación y apoyo en el desarrollo de SIAS para que estos aprovechen las facilidades del
SABD y la BD.
20. Determinar procedimientos que permitan detectar violaciones a las reglas de seguridad e
integridad, buscando la identificación del causante e informando a los niveles que corresponda.
Este elemento del enfoque de base de datos es el conjunto centralizado de atributos lógicos que
especifican la identificación y caracterización de los datos que se manejan en la BD. La BD contiene
el valor de los datos, el DD contiene meta datos, es decir los atributos lógicos de dichos datos.
1. Es un medio centralizado de tener información sobre los atributos lógicos de los datos de la
BD.
Los usuarios del DD son: el AI, el SABD, usuarios finales, Analistas de Sistemas y programadores
entre otros.
El diccionario de datos contiene para cada dato los siguientes atributos lógicos o meta datos:
Atributos de información para control administrativo incluye: unidad de origen del dato, nombre
del programa o transformación que lo origina, nombre del documento que lo contiene por
primera vez en la organización, las unidades organizacionales y programas de aplicación que lo
usan, Cardinalidad del dato.
Atributos de seguridad identificación de las personas autorizadas para cambiar las características
del dato, accesarlo o actualizarlo, fecha de última actualización e identificación del usuario que
efectuó esta actualización.
Atributos de validación contienen lista o rango de valores permitidos, nombre de los programas
validadores que actúan sobre él.
Atributos de relaciones lógicas algoritmos de derivación, identifica la forma de generación del
dato, estructuras lógicas, grupos y jerarquías donde el dato es miembro.
Atributos de relación física: largo, tipo, nombre para programación, reglas de edición, unidad de
medida del dato, precisión.
Un banco de datos esta constituido por todos los datos formales, relevantes para la toma de
decisiones. Los datos del banco de datos se encuentran dispersos en la organización soportados en
diversos medios, como, archivadores, formularios, documentos, dispositivos de almacenamiento
digital y otros.
La base de datos se constituye por todos los datos del banco de datos, almacenados en archivos
centralizados altamente disciplinados, de tal forma que puedan ser requeridos de diversas
maneras lógicas, con el fin de satisfacer las consultas de los distintos usuarios de la base de datos.
Los beneficios del banco de datos son amplios y casi innumerables, el banco de datos como se
señalo en l párrafos anteriores representa toda la información relevante y formalizada de la
organización, entiéndase por datos de la constitución de la empresa hasta los relativos al pago de
patentes pasando por datos de acreedores y deudores.
Día a día van surgiendo nuevos problemas en una organización y junto a ello nuevas
formas de solucionarlos, la idea de DW data de hace mucho tiempo pero la razón de que hoy día
sea un tema de actualidad es que hoy existen tecnologías de HW y SW suficientemente poderosas
para depurar esta información.
está encerrada en viejas aplicaciones y los usuarios creían que bastaba con crear nuevas formas
de acceso pero no es así porque además tienen las siguientes características, complejidad en la
estructura de los sistemas, diseño de sistemas orientados al rendimiento óptimo, información
dependiente, información a menudo dispersa en múltiples o diversos sistemas, definición
inconsistente y la solución fue crear un almacén de datos, en el cual los datos fueran
transformados, integrados y cargados a un dispositivo en donde tuvieran sentido para aquellas
personas que lo necesiten como soporte a la toma de decisiones.
Un registro es una colección de campos (atributos), cada uno de los cuales contiene solamente
almacenado un solo valor, el enlace es la asociación entre dos registros exclusivamente, así que
podemos verla como una relación estrictamente binaria.
Una estructura de datos de red, llamada algunas veces estructura de plex, abarca más que la
estructura de árbol porque un nodo hijo en la estructura red puede tener más de un padre. En
otras palabras, las restricción de que un árbol jerárquico cada hijo pude tener un solo padre, se
hace menos severa. Así, la estructura de árbol se puede considerar como un caso especial de la
estructura de red tal como lo muestra la siguiente figura. Para ilustrar las estructura de los
registros en una base de datos red, consideramos la base de datos alumno ʹ materia, los registros
en lenguaje pascal entonces quedaría como:
nombreA: string[30];
control: string[8] ;
esp: string[3]
end;
clave: string[7]
nombreM: string[25]
cred= string[2];
end;
1 Cois 5100
6 Cois 5100
7 Cois 5120
8 Cois 5130
7 Cois 5120
1 Cois 5100
8 Cois 5130
7 Cois 5120
6 Cois 5100
|Sección Curso |
|1 Cois 5100 |
|6 Cois 5100 |
|7 Cois 5120 |
|8 Cois 5130 |
Los modelos relacionales se diferencian de los modelos de red y jerárquico en que no usan
puntaros o enlaces. En Cambio el modelo relacional conecta los registros mediante valores que
éstos contienen.
Al igual que el modelo entidad ʹ relación se basa en una colección de objetos. Un objeto contiene
valores almacenados en instancias dentro del objeto. Estos valores son objetos por si mismo, esto
es, los objetos contienen objetos a un nivel de anidamiento de profundidad arbitraria.
Un objeto también contiene partes de un código que operan sobre el objeto, estas partes se
llaman métodos.
Los objetos que contienen los mismos tipos de valores y los mismos métodos se agrupan en clases.
La diferencia de las entidades en el modelo entidad relación, cada objeto tiene su propia identidad
única independiente de los valores que contiene. Así, dos objetos que contienen los mismos
valores son, sin embargo, distintos. La distinción entre objetos individuales se mantiene en el nivel
físico por medio de identificadores de objeto.
La percepción del mundo puede ser descrita como una sucesión de fenómenos. Desde el comienzo
de los tiempos el hombre ha tratado de descubrirlos, ya sea que los entienda completamente o
no.
La descripción de estos fenómenos es llamado Dato. Los datos corresponden al registro discreto
(no continuo) de hechos acerca de un fenómeno, con lo cual ganamos información acerca del
mundo que nos rodea (Información: Incremento del conocimiento que puede ser inferido de los
datos).
En ciertos casos los datos están separados de su semántica. Por ejemplo, una planilla de notas es
una tabla de datos. Su interpretación implícita y se supone que quien la lee conoce su significado.
El uso del computador para procesar datos ha traído consigo una mayor separación entre lo datos
y su interpretación. Mucha de la interpretación de los datos está explícita. Consideremos por
ejemplo un programa que calcula integrales definidas, este programa recibe valores de entrada y
genera valores como salida. Sin embargo el programa en sí no tiene conocimiento si el problema
resuelto es de termodinámica o electromagnetismo.
2.3 Representación del dato
ͻ Los computadores no manejan (bien) el lenguaje natural, que es la mejor forma de dar
interpretación y su significado a un dato.
ͻ El almacenamiento de los datos ocupa espacio, e inicialmente este era escaso y costoso.
Así, tradicionalmente la interpretación de los datos se deja al usuario y al sistema manual externo
al computador.
En muchos sistema la interpretación de datos se encuentra en los programas que hacen usos de
ellos, de modo que los datos pasan a ser una simple colección de valores.
Por otra parte, supongamos que algo de la semántica de los datos se codifica junto con ellos. Así
los datos no sólo son valores, si no que también tienen una semántica y lo datos están más cerca
de la interpretación del mundo. Ellos forman
una ͞vista͟ del mundo, la que no es exacta ni concreta, si no que usualmente es bastante
abstracta.
Los datos no son estáticos, y corresponden a un mundo que esta en constante cambio. La
flexibilidad en la interpretación de los datos permite capturar los aspectos dinámicos del mundo y
al mismo tiempo, proveer una estructura estable para los datos. Esta flexibilidad se puede tener
de dos formas:
ͻ El sistema puede permitir que los mismos datos sean vistos de diferente forma. Por ejemplo,
diferentes aplicaciones pueden usar los mismos datos y dar su propia semántica.
ͻ Diferentes datos pueden ser vistos de la misma forma. Por ejemplo, se quiere ver a los
gerentes, secretarias y empleados sólo como trabajadores de una organización, no importando su
cargo. Aquí la interpretación debe ser lo suficientemente abstracta para que diferentes vistas del
mundo se vean de la misma forma
2.4 Entidades
Consideremos un número de conjuntos cada uno orientado a un tipo particular de objetos. Estos
conjuntos están relacionados con Dominios (conjunto de valores de un mismo tipo. Se define
como un conjunto, ya sea por extensión o comprensión).
Si consideramos la relación dada por el producto cartesiano de estos dominios, una interpretación
que se les da a cada una de estas tuplas es que cada una corresponde a una entidad particular.
Ejemplo:
ͻ Cualquier cosa de relevancia para el negocio acerca de la cual debe mantenerse información.
Elemento de un dominio. Aporta mediante su rótulo, la semántica de los valores del dominio al
que está asociado.
Dominio
ATRIBUTO
Es aparente que una representación del mundo es necesaria, la que debe ser suficientemente
abstracta para que no sea afectada por la dinámica del mundo (los pequeños cambios), y debe ser
suficientemente robusta para poder representar como los datos y el mundo se relacionan. Una
herramienta como esta es llamada Modelo de Datos, el cual permite representar en forma más o
menos razonable alguna realidad. El modelo de datos permite realizar abstracciones del mundo,
permitiendo centrarse en los aspectos macros, sin preocuparse de las particularidades; así
nuestra preocupación se centra en generar un esquema de representación, y no en los valores de
los datos.
Los modelos de datos nos permiten capturar parcialmente el mundo, ya que es improbable
generar un modelo que lo capture totalmente.
Sin embargo se puede tener un conocimiento relativamente completo de la parte del mundo que
nos interesa. Así un modelo captura la cantidad de conocimiento tal que cumpla con los
requerimientos que nos hemos impuesto previamente.
Un Modelo de Datos define las reglas por las cuales los datos son estructurados. Esta
estructuración sin embargo, no da a una interpretación completa acerca de los significados de los
datos y la forma en que serán usados. Las operaciones que se permiten efectuar a los datos deben
ser definidos..
La mayoría de las aplicaciones son dependientes de los datos; la organización del almacenamiento
y los modos de acceso dependen de los requerimientos de la aplicación y el conocimiento de la
organización física de los datos y las técnicas de acceso forman parte de la lógica de la aplicación.
La aplicación es dependiente de los datos, porque no se puede mejorar la estructura de
almacenamiento o los modos de acceso sin afectar la aplicación.
2. Proporcionar a los usuarios una visión abstracta de los datos. El sistema esconde los detalles
de almacenamiento físico (como se almacenan y se mantienen los datos) pero estos deben
extraerse eficientemente.
͞La independencia de los datos es la capacidad de un sistema para permitir que las referencias a
los datos almacenados, especialmente en los programas y en sus descriptores de los datos, estén
aislados de los cambios y de los diferentes usos en el entorno de los datos, como pueden ser la
forma de almacenar dichos
[pic][pic]
ͻ Nivel Conceptual: Contiene el nivel conceptual de la base de datos, que implica el análisis de
las necesidades de información de los usuarios y las clases de datos necesarias para satisfacer
dichas necesidades. El resultado del diseño conceptual contiene la descripción de todos los datos
y las interrelaciones entre ellos, así como las restricciones de integridad y de confidencialidad.
ͻ Nivel Externo: Visión que de la base de datos tiene un usuario o aplicación en particular. Habrá
tantas vistas de la base de datos como exijan las diferentes aplicaciones. La vistas se derivan
directamente del esquema conceptual, o de otras vistas, y con tienen una descripción de los
elementos de datos y sus interrelaciones orientadas al usuario o aplicación y de las que se
compone la vista. Una misma vista puede ser utilizada por varias aplicaciones.
Esta arquitectura de tres niveles nos proporciona la deseada independencia, que definiremos
como capacidad para cambiar el esquema en un nivel sin tener que cambiarlo en ningún otro
nivel. Distinguimos entre independencia física y lógica:
ͻ Independencia lógica de los datos: Cambio del esquema conceptual sin cambiar las vistas
externas o las aplicaciones.
ͻ Independencia física de los datos: Cambio del esquema interno sin necesidad de cambiar el
esquema conceptual o los esquemas externos.
La semántica de los datos es el significado asociado al lenguaje (por ejemplo, el significado de las
palabras y su interpretación dentro de un contexto dado).
3.3 Cardinalidad
La Cardinalidad de un objeto o entidad es el número de ocurrencias del objeto, entendiéndose por
ocurrencia de una entidad o instancia de un objeto, al producto de asociar valores a los atributos
de la entidad u objeto.
3.4 Grado
Se denomina grado, a la cantidad de atributos que se consideran para una entidad u objeto.
3.5 Dependencia
Igual que para los tipos de entidad, los tipos de interrelación pueden ser regulares o fuertes y
débiles, según se asocien dos entidades fuertes o una fuerte y una débil, respectivamente.
3.8 Clase
3.9 Agregación
Es una correspondencia que se establece entre dos clases.
La forma o vista externa con que se presentan los datos al usuario en la mayoría de los sistemas
actuales es idéntica o muy semejante a la vista conceptual.
La estructura lógica, a nivel contextual o externo, es la base para la clasificación de los DBMS en
las tres categorías siguientes: Jerárquica , Red y Relacional.
Cualquier categoría del DBMS debe permitir un acceso aleatorio a los datos requeridos,
utilizando para tal fin una de las siguientes estructuras lógicas para almacenar los datos: redes,
árboles, tablas o listas enlazadas.
Cada DBMS esta diseñado para manejar un tipo determinado de estructura lógica. Los
programas que se ejecutan bajo un DBMS no se pueden procesar en otro DBMS.
ͻ Enfoque de Red: Los ejemplos más importantes los proporciona las especificaciones del
grupo de trabajo de base de datos (DBTG) de CODASYL.
ͻ Enfoque Jerárquico
Un DBMS de enfoque jerárquico utiliza ÁRBOLES para la representación lógica de los datos.
A los archivos que entre sus registros guardan una relación tipo árbol se les llama
Archivos Jerárquicos.
SUCURSAL
AUTOMOVIL
EMPLEADOS
FECHA-MANTENIMIENTO
Que representan las sucursales filiales de una empresa, los automóviles asignados a cada
una de ellas, los empleados que deben conducir un determinado coche y la fecha de
mantenimiento. El registro SUCURSAL contiene los campos NUMERO-SUCURSAL, NOMBRE-
SUCURSAL, NOMBRE-CIUDAD, etc.; el registro AUTOMOVIL incluye los datos de los coches; el
registro EMPLEADO, los datos personales del mismo: NUMERO, NONBRE, etc. y, por último el
registro FECHA-MANTENIMIENTO contiene los campos FECHA, OPERACIÓN.
EMPLEADO 3
EMPLEADO 2
EMPLEADO 4
EMPLEADO 2
EMPLEADO 1
AUTO 3
AUTO 4
AUTO 2
AUTO 1
SUCURSAL
FECHA - MANTENIMIENTO
EMPLEADO
SUCURSAL
AUTOMOVIL
Nivel 1: Raíz
Nivel 2
Nivel 3
Estructura de un árbol
J
I
Estructura de red
En los temas anteriores se han estudiado las arquitecturas de los distintos DBMS, así como los
lenguajes para el manejo de los datos. Pero todavía no se ha considerado un aspecto fundamental
de las bases de datos, como es su diseño. Por diseño se entiende el generar un conjunto de
esquemas de relaciones que permitan almacenar la información con un mínimo de redundancia
pero al mismo tiempo faciliten su recuperación.
Entre los distintos objetivos en el diseño de una base de datos se pueden considerar:
1. La base de datos resultante tiene que ser capaz de almacenar toda la información
necesaria. El primer paso será determinar los atributos que van a formar parte de la base de datos
y reunirlos en una relación universal. Hasta que se hayan concretado los campos necesarios no
podrá el diseñador establecer las relaciones entre ellos.
4. Las relaciones obtenidas deben estar normalizadas con el fin de minimizar los problemas de
actualización y borrado.
Orientado a Objeto
Estructura de objetos.
El Modelo orientado a objetos se basa en encapsular código y datos en una única unidad llamada
objeto. La Interfaz entre un objeto y el resto del sistema se define mediante un conjunto de
mensajes.
El motivo de este enfoque puede ilustrase considerando una base de datos de documentos en la
que los documentos se preparan usando uno entre varios paquetes software con formateador de
texto. Para imprimir un documento debe ejecutarse el formateador correcto en el documento.
Bajo un enfoque orientado a objetos cada documento es un objeto que contiene el texto de un
documento y el código que opera sobre el objeto.
Todos los objetos del tipo documento responden al mensaje imprimir, pero lo hacen de forma
diferente. Cada documento responde ejecutando el código formateador adecuado. Encapsulando
dentro del objeto documento la información acerca de cómo imprimirlo, podemos tener todos los
documentos con la misma interfaz externa al usuario ( aplicación).
ͻ Un conjunto de atributos que contienen datos acerca del objeto. A su vez, cada valor de un
atributo es un objeto.
Puesto que la única interfaz externa de un objeto es el conjunto de mensajes al que responde, es
posible modificar la definición de métodos y atributos sin afectar a otros objetos.
Ejemplo: Un objeto documento puede contener un atributo de tamaño que contenga el número
bytes de texto en el documento, o bien un método de tamaño que calcule el tamaño del
documento leyéndolo y contando el número de bytes.
La capacidad de modificar la definición de un objeto sin afectar al resto del sistema está
considerada como una de las mayores ventajas del modelo de programación orientada a objetos.
Entidad - Relación
En 1976, Peter Chen publicó el modelo entidad ʹ relación, el cual tuvo gran aceptación
principalmente por su expresividad gráfica. Sobre esta primera versión han trabajado numerosos
autores, generando distintas extensiones de mayor a menor utilidad y de aceptación variable en el
medio académico y profesional. Muchas de estas extensiones son muy útiles, pero poco
difundidas debido principalmente ala ausencia de herramientas automatizadas que apoyen su
uso.
La regla básica es distinguir tipos de entidades e interrelaciones de atributos. Así, los atributos
deben ser atómicos y característicos del tipo entidad o interrelación que describan.
También los atributos deben pertenecer al tipo de entidad o interrelación que describen y no a
otro tipo.
Otra diferencia entre tipo entidad y atributo es que, por ejemplo, se puede tener el tipo de
entidad empleado, que tiene como atributo el departamento al que pertenece. En Forma
alternativa se pueden tener los tipos de entidades Empleado y Departamento, y el tipo de
interrelación trabaja_en, que relaciona a un empleado con el departamento en donde trabaja.
Esta segunda alternativa es mejor desde el punto de vista del modelamiento conceptual y
presenta una clara diferencia entre atributo y tipos de entidad.
Reglas para elegir identificadores
1. No deben existir dos entidades con el mismo valor del identificador (en los tipos de entidad).
2. En los tipos de interrelación, la clave es la composición de las claves de los tipos de entidad
involucrados, en caso que no se pueda utilizar la clave de un subconjunto de ellos.
Ejercicios Propuestos:
1. Construir un esquema MER para una secretaria de universidad. La secretaria mantiene datos
sobre cada asignatura, incluyendo el profesor, lista de alumnos y la hora y el lugar de las clases.
Para cada par estudiante ʹ asignatura se registra su nota.
2. Construir un esquema MER para una compañía de seguros de autos con un conjunto de
clientes, cada uno de los cuales es propietario de un número de autos. Cada auto tiene asociado el
número de accidentes asociados.
La dependencia funcional (DF) se define: Dados dos atributos A y B de una relación R se dice que B
es funcionalmente dependiente del atributo A si para cada valor de A existe un valor de B, y sólo
uno, asociado con él. En otros términos: si en cualquier instante, conocido el valor de A, podemos
conocer el valor de B. Se simboliza por:
A [pic] B
Consideremos la relación CLIENTES: NCLI, NOMBRE, LOCALIDAD, donde NCLI es el número del
cliente. Los campos NOMBRE y LOCALIDAD son funcionalmente dependientes de NCLI: Para un
valor de NCLI existe un único valor de NOMBRE y LOCALIDAD. Se expresa:
ͻ Clave candidata: Conjunto de uno o más atributos que podría ser utilizado como clave principal
de una relación.
ͻ Superclave: Conjunto de uno o más atributos que, juntos, permiten identificar de forma única a
una entidad dentro de una relación.
ͻ Clave principal: Es una clave candidata en la que ningún componente puede tomar el valor nulo.
Un determinante son todos los atributos situados en el lado izquierdo de una DF.
NCLI
NCLI
NOMBRE, LOCALIDAD, CT
NCLI
NART
FECHA
CANT
ARTICULO, PVP
Una relación está en primera forma normal si todo atributo contiene un valor indivisible, atómico.
Esta forma normal está justificada por la sencillez y la estética en la representación de los registros
(Fig. 1).
Una relación en 1FN contiene una serie de anomalías de almacenamiento a la hora de realizar las
actualizaciones por la información redundante, como se puede apreciar en la Figura 1.
b) Cada relación tiene la propiedad de que su clave, en su totalidad, es necesaria para definir
cada uno de los campos no clave.
Descomposición sin pérdida. Descomposición de una relación R en R1, R2, ... RN, tal que:
R = R1 * R2 * ... * RN.
Cuando se actualiza la base de datos, el sistema debe poder comprobar que la actualización no va
a generar una relación ilegal, es decir, una que no satisfaga todas las DF establecidas.
Para llevar a cabo el proceso de normalización es aconsejable dar los siguientes pasos:
1. Elegir una clave primaria que puede representar de forma única a cada registro de la relación.
Por el paso 1, en la relación ORDENES-VENTA, los atributos que forman la clave primaria son: NCLI,
NART, FECHA.
1. Está en 1FN
Las relaciones mostradas en la Figura siguiente pertenecen ya a la 2FN. Sin embargo, la relación
CLIENTES presenta anomalías de almacenamiento debido a que el atributo CT es funcionalmente
dependiente de LOCALIDAD, que a su vez depende de NCLI; es decir, hay una dependencia
transitiva que ocasiona problemas a la hora de las actualizaciones.
Por ejemplo, no se puede insertar un CT para una localidad determinada hasta que haya un cliente
para dicha localidad.
Normalización de la relación 2FN
Las anomalías de almacenamiento, originadas por la dependencia transitiva en una relación 2FN,
se puede normalizar mediante los siguientes pasos:
Relación CLIENTES
Relación TRANSPORTES
|LOCALIDAD |CT |
|Málaga |0.8 |
|Gijón |1.1 |
|Valencia |1.4 |
1. Está en 2FN
En la 3FN se puede decir que en cada relación no existe u atributo no clave que defina a otro
atributo. Existe una excepción: Cuando en una relación hay dos atributos que podría ser la clave,
como el DNI y l número de la seguridad social.
Planificación Top-Down
Las metodologías descendentes o top-down cuya filosofía es que el esquema conceptual refleje
directamente la visión de la empresa que se intenta modelar en la BD.
Se parte del estudio del universo del discurso (UD) para elaborar el esquema conceptual y
sobre el se definen posteriormente vistas de usuario como subconjuntos de este esquema
conceptual.
Diseño Bottom-Up
Se define el concepto de Proceso de Negocio como un conjunto de actividades que reciben uno
o más insumos y crea un producto de valor para el cliente. La figura de cliente, que puede ser
externo o interno a la organización, establece en el proceso de negocio la idea de evaluación y
satisfacción por parte de ellos, orientando los procesos de la organización a ser eficientes en el uso
de recursos y eficaces en la atención del cliente. Los procesos de negocios son percibidos como
unidades dentro de las organizaciones, cuyos resultados pueden ser medidos y evaluados
económicamente, lo que asienta un nuevo modelo de segmentación de las empresas basados en
unidades económicamente autosuficientes.
Todo proceso tiene entradas -recursos humanos, tecnológicos, materiales y otros- para el
desarrollo de las actividades que lo conforman; como salidas se esperan productos, servicios,
información, activos financieros u otros. Si bien la distinción entre actividad y proceso no es nítida,
por lo general un proceso es visto como un conjunto de actividades o una macro actividad.
Otra definición, entiende todo proceso como un "conjunto de tareas lógicamente relacionadas
que existen para obtener un resultado bien definido dentro de un negocio". En adelante nos
basaremos en esta última definición.
El concepto de la Cadena de Valor es la herramienta básica para examinar todas las actividades
que una empresa desempeña. Bajo ese enfoque, los procesos son clasificados en principales y de
apoyo. Los procesos principales están directamente relacionados con la actividad productiva de las
organizaciones. Los procesos de apoyo son los que apoyan, asisten, respaldan a los procesos
primarios; cuya segmentación se realiza en función de factores estratégicos, funcionales y
organizacionales. El resultado general de la segmentación de procesos es el siguiente:
Por tanto, los procesos principales serían los conjuntos de actividades vinculadas a la creación,
venta, transferencia y asistencia posterior de productos o servicios; mientras que los de apoyo
serían todos aquellos conjuntos de actividades que sustentan las actividades involucradas en los
procesos principales proporcionándoles insumos, tecnologías, recursos humanos y variadas
funciones administrativas.
Uno de los modelos para representar los conjuntos de actividades asociados a los procesos es el
llamado Modelo de Procesos por Regulación (MPR). El modelo asume que el propósito de todo
sistema de gestión es el de regular el comportamiento de los recursos que manejan las
organizaciones ante perturbaciones generadas por un entorno cambiante y
no controlable. Los recursos regulados son ingresados desde el entorno hacia la organización,
para ser "operados" o "transformados" en su interior y devueltos al exterior. Bajo este modelo es
crucial identificar los recursos que interesan regular, que pueden ser recursos materiales,
humanos u otros.
Las operaciones o actividades que se ejecutan sobre los recursos son las que están sometidas a
regulación. Por tanto, a nivel de actividades suelen distinguirse aquellas que producen bienes /
servicios (actividades físicas) de las actividades que las regulan (actividades administrativas). Lo
anterior implica que a nivel de los flujos existen los físicos y los de información. Los flujos físicos
son aquellos asociados a los recursos que se aspira regular a través de los flujos de información.
Ejemplos de flujos físicos pueden ser flujos de materiales, de dinero, de personas, de documentos,
etc. Las actividades que tienen como entrada los flujos físicos modifican el estado de los recursos
involucrados para dar origen a productos / servicios. Las actividades administrativas que regulan
estos flujos, lo realizan a través de procesamientos, procedimientos, monitoreo, coordinación,
toma de decisiones, dirección y control de los flujos físicos.
Los objetos del entorno son todas aquellas unidades organizacionales o personas que originan
o reciben los flujos físicos de entrada / salida, en tanto que lo sistemas externos son aquellos con
los cuales sé interactúa y que inciden en la toma de decisiones.
experimenta el recurso regulado, y aquellas orientadas a tomar decisiones que impliquen acciones
sobre las actividades físicas llevadas a cabo
Sistemas de Información
ͻ de Apoyo a las Decisiones (SAD): están a nivel de gestión de las organizaciones, y combinan
datos y modelos analíticos sofisticados para apoyar el proceso de decisión.
Metodología
Para estructurar un sistema de información orientado a satisfacer requerimientos estratégicos
de las organizaciones se desarrolló una metodología, apoyada en el modelamiento de procesos
por regulación, que consta de las siguientes etapas:
Utilizando la cadena de valor planteada por Porter se identifican los procesos más relevantes
dentro de una organización, diferenciando los principales y los de apoyo. En esta etapa se deben
tomar en consideración la misión y los objetivos estratégicos fijados en la organización.
Cumplido lo anterior se seleccionan aquellos en los que interesa focalizar los esfuerzos y
recursos disponibles. Entre las herramientas de apoyo utilizadas en esta fase se encuentran el
análisis FODA (Fortalezas/Oportunidades/Debilidades/Amenazas) y los FCE (Factores Críticos de
Éxito).
A continuación se identifican los recursos a regular, los subprocesos físicos que afectarán al
recurso involucrado, y los administrativos o de gestión que regularán el comportamiento de los
subprocesos físicos.
Este enfoque metodológico genera, para cada uno de los subprocesos identificados, sistemas
de información orientados a los procesos con componentes a nivel operacional, táctico y
estratégicos.
Una sola visión de la base de datos puede describirse mediante un modelo. Un modelo de
visión representa un pequeño subconjunto de la realidad, apropiado para una aplicación del
contenido de la base de datos. La mayoría de las bases de datos para especificarse requerirán
varios modelos de visión. El estrecho enfoque de visión por visión para comprender la estructura
de una base de datos tiene la ventaja de que la complejidad de los vínculos que se presentan en
las bases de datos del mundo real puede dominarse.
Aunque haya atributos comunes podría no haber conexiones. La falta de conexiones indica que
las visiones o los grupos de visiones pueden mantenerse independientemente unas de otras. A
una base de datos creada a partir de visiones que no se conectan con otras bases de datos se les
denomina base de datos independiente, esta se mantiene mejor en forma distribuida, aún cuando
el equipo de computación sea compartido. Hay beneficios ( funcionales, geográficos, desempeño,
autonomía, confiabilidad, crecimiento) al efectuar distribución, y si las bases de datos pueden
conservarse más pequeñas y manejarse en forma autónoma, probablemente los costos totales
sean más bajos.
Para permitir consultas de recuperación con acceso a datos de múltiples bases de datos
independientes suele forzarse a que bases de datos más independientes queden en una base de
datos integrada. Actualmente sólo unos cuantos sistemas de manejo de base de datos permiten
que se procesen consultas con acceso a más de una base de datos. El costo de combinar bases de
datos independientes consiste en un costo incrementado en demasía del sistema de base de
datos, a fin de proporcionar la independencia requerida del modelo de visión y la protección para
las transacciones de actualización. Los costos de manejo, debidos al intento de volver comunitarias
áreas en las que existen pocos incentivos naturales para cooperar, también pueden ser altos.
Ni siquiera deben integrarse todos los modelos conectados de visión. El enlace entre algunos
conjuntos de visiones puede ser relativamente débil y no garantizará la integración de un modelo
de visión en la base de datos. Un enlace débil puede deberse a un atributo compartido, pero que
no cambia. En esos casos también se diseñarán bases de datos
Hasta qué punto es más conveniente la distribución que la centralización?, depende del costo
de manejo de operaciones, comunicaciones y procesamiento.
Una base de datos distribuida no implica distribución física sino más bien una distribución de
responsabilidades a múltiples bases de datos.
Un sistema disperso puede estar bien integrado o distribuido. El costo de las comunicaciones
necesarias para un sistema integrado pero repartido en sitios remotos hará posible un enfoque
distribuido.
Cada base de datos en el conjunto distribuido tendrá sus conexiones internas y algunas con
otros sitios. Las relaciones y conexiones disponibles pueden describirse mediante un submodelo
de base de datos. Este puede representar una sola visión o aumentarse y modificarse para tener
en cuenta información y datos provenientes de otras visiones incluidos en la base de datos. Un
sitio también podría tener un modelo global integrado de todos los datos en las bases distribuidas
de datos.
Si una base de datos que opera en un sitio tiene derecho de acceso a datos provenientes de
bases ubicadas en otros puntos, puede convenir tener disponible una copia en cada sitio del
modelo global de base de datos, aún cuando en ese sitio sólo se almacenen datos para el
submodelo local de base de datos. La capacidad de cambiar localmente inclusive la parte local de
un modelo de base de datos estará restringida ahora, ya que se verán afectados modelos remotos,
aunque sus bases de datos no sean afectadas por el cambio de modelo.
Un ejemplo se presenta en los bancos, donde durante las horas de negocios, las bases de datos
primarias se encuentran en las sucursales (submodelos). Después del cierre diario, la
correspondencia de los datos locales con los datos de la oficina central (modelo global) se verifica
y se da la responsabilidad primaria al sitio central. Durante la noche, la base de datos central
puede actualizarse rápidamente con transacciones que llegan de otros bancos a la oficina central.
Los mensajes de actualización se comunican a las sucursales. En la mañana la responsabilidad pasa
a las sucursales, después de una verificación de integridad.
Se observa que la creación de submodelos de bases de datos implica la existencia de un
modelo integrado de bases de datos (modelo corporativo) aun cuando los datos puedan no estar
integrados. En una base de datos distribuida puede existir un esquema global basado en el modelo
integrado de base de datos que ayude a las consultas globales.
Una vez que se ha decidido cuáles modelos de visión se incluirán en uno sólo, es posible
construir el modelo integrado de bases de datos, que consistirá en relaciones de varios tipos y en
las conexiones entre dichas relaciones. La combinación puede tener el aspecto de un árbol, de
cierto número de árboles (un bosque) o de una red.
Cuando se está construyendo la base integrada de datos, deben tenerse en cuenta algunos
objetivos:
6. Hacer que el número de conexiones entre relaciones y atributos compartidos sea mínimo.
7. Hacer que sea mínima la actividad a lo largo de todas las conexiones entre relaciones.
Se han estudiado reglas para establecer una situación óptima de acuerdo con los últimos
cuatro criterios, utilizando dependencias funcionales entre atributos como elementos básicos para
la toma de decisiones. En muchos casos prácticos los diseños de bases de datos sustentados en
cualquiera de los criterios no diferirán mucho.
El modelo integrado de base de datos puede ser complejo, pero presenta una descripción
precisa de las necesidades del usuario.
Es posible construir sistemas de manejo de base de datos con una amplia gama de generalidad.
Una clasificación de estos enfoques en tres niveles distingue los sistemas que apoyan a una sola
aplicación, a varias aplicaciones del mismo tipo o a múltiples tipos de aplicaciones. Se han
desarrollado algunos sistemas a través de estos tres niveles; otros se han diseñado para resolver
problemas en un nivel especifico.
Una organización establece una operación de base de datos utilizando las facilidades
disponibles de sistema de archivo y diseña programas de aplicación que realizan una interfase a la
base de datos utilizando un paquete mantenido centralmente que implanta el grado necesario de
descripción de datos y de estructura.
El sistema original de reservación de la línea aérea American Airlines, SABRE, muchos grandes
sistemas de información, tales como MEDLARS (sistema para consultar información médica) y
sistemas de comando y control militar son ejemplos de este enfoque.
Son ejemplos de este enfoque los sistema generalizados de reservación de líneas aéreas
(PARS), sistemas de información clínica (TOD, GEMÍS), y sistemas de facturación de materiales
(BOMP).
La concepción de una Base de Datos Relacional es una tarea larga y costosa. Existe la necesidad
de contar con procedimientos ordenados que faciliten el desarrollo de un producto software, ya
que esto tiene una incidencia en cuanto a costos y plazos de entrega, además de la calidad y
mantenimiento del producto.
Según Sommerville (1988) " un buen diseño es la clave de una eficiente ingeniería del software.
Un software bien diseñado es fácil de aplicar y mantener, además de ser comprensible y fiable. Los
sistemas mal diseñados, aunque puedan funcionar, serán costosos de mantener, difíciles de
probar y poco fiables".
Muchas veces, el diseño de una base de datos se limita aplicar la teoría de normalización,
cuando en realidad debe abarcar muchas otras etapas, que van desde la concepción hasta la
instrumentación.
Una metodología es un conjunto de modelos y herramientas que nos permiten pasar de una
etapa a la siguiente en el proceso de diseño de la base de datos. Rolland y Benci (1988).
No existe una metodología consagrada, sin embargo, ciertas etapas son distinguibles:
ͻ Diseño Conceptual, cuyo objetivo es obtener una buena representación de los recursos de
información de la empresa, con independencia de usuarios o aplicaciones en particular y fuera de
consideraciones de eficiencia del computador.
ͻ Diseño Físico, cuyo objetivo es conseguir una instrumentación lo más eficiente posible del
esquema lógico.
Causas de malos diseños
ͻ Etapa de conceptualización
El análisis de requisitos debe responder a la pregunta: qué representar? Para ello hay que
estudiar las reglas de la empresa (del negocio) a los diferentes niveles de la organización, para
elaborar una descripción de la organización. Esquema percibido.
La segunda etapa responde a la pregunta Cómo representar?. Aquí se utilizan los modelos
conceptuales. Nosotros utilizaremos el MER y sus extensiones, que básicamente define entidades,
atributos, interrelaciones y restricciones semánticas. Esquema conceptual.
En el paso del esquema percibido al esquema conceptual. No existen reglas claras que
permitan decidir que elemento es una entidad o cual otro una interrelación. Existen 2 enfoques.
En el enfoque lingüístico:
ͻ un sustantivo (nombre común) que actúa como sujeto o complemento directo en un frase
es por lo general un tipo de entidad, aunque podría ser un atributo. Ej.: los socios piden prestados
libros, existen 2 posibles entidades: SOCIO y LIBRO.
ͻ los nombres propios indican ocurrencias de un tipo de entidad, Ej: Date,C indica una
ocurrencia de AUTOR.
ͻ un verbo transitivo o una frase verbal es un tipo de interrelación, Ej: pedir prestado indica
una interrelación entre las entidades LIBRO y SOCIO.
ͻ una preposición entre 2 nombres suele ser un tipo de interrelación o también establece la
asociación entre una entidad y sus atributos. Ej: la institución del autor, podemos pensar en la
interrelación entre AUTOR e INSTITUCION o bien, el atributo institución de AUTOR.
ͻ una entidad es un objeto de datos que tiene más propiedades que su nombre o se utiliza
como operando en una sentencia de selección, borrado o inserción. Ej: en la biblioteca existen
libros que poseen una serie de propiedades, como son el título, idioma, nro. de copias, etc. LIBRO
es una entidad, ya que tiene varias propiedades. Ej: cuando un socio deja serlo, es preciso
eliminarlo de la base de datos, SOCIO es una entidad, por ser un operando en una sentencia de
borrado.
ͻ una interrelación es un objeto de datos que hace posible la selección de una entidad por
medio de una referencia a un atributo de otra entidad. Ej: seleccionar los libros que ha escrito un
determinado autor, por lo que escribir es una interrelación, ya que nos permite seleccionar una
entidad (LIBRO) por medio de una referencia a un atributo de otra entidad (Nombre de AUTOR).
Los atributos de DOCUMENTO son heredados por ARTICULO y LIBRO. También pueden haber
atributos que son exclusivos de las entidades subtipos, por ejemplo, editorial podría ser un
atributo de LIBRO pero no de ARTICULO.
ʹ Ocurrencia de, Ej.: un libro tiene varios ejemplares, en el sentido que un ejemplar es una
ocurrencia de libro. Cual sería el identificador de la entidad, que es ocurrencia, (EJEMPLAR)???. Se
forma con el identificador de la entidad principal (LIBRO) junto a un atributo discriminante de la
ocurrencia. Ej: libros con 5 dígitos y 2 dígitos para los ejemplares.
ʹ Interrelación entre entidades Ej: los libros pueden tener más de un autor, actúa como
interrelación entre AUTOR y LIBRO.
ʹ Asociación de las entidades con sus atributos (agregación) Ej: los libros tienen un título, un
año de publicación y un idioma, estamos asociando a la entidad LIBRO una serie de atributos.
Algunas mañas:
і Si decimos los socios piden prestados libros, estaríamos generando un diagrama con
entidades LIBRO, SOCIO, EJEMPLAR, e interrelaciones presta (LIBRO, SOCIO) y tiene
(LIBRO,EJEMPLAR), lo que es incorrecto.
і Debería ser, las mismas entidades, e interrelaciones tiene (LIBRO, EJEMPLAR) y presta
(EJEMPLAR,SOCIO).
Notar que desde un mismo universo del discurso se pueden obtener distintos esquemas
conceptuales.
Existen ciertas restricciones de tipo semánticas que no son posibles de describir a través de
típicamente el MER extendido. Muchas de estas se escriben en lenguaje natural dentro del mismo
DEI.
Las vistas se dividen en idénticas y no idénticas. Las idénticas contienen los mismos tipos de
objetos, puede que con distintos nombres. Las no idénticas, poseen diferentes tipos de objetos
(todo o en parte). Dentro de estas ultimas hay que distinguir las que son equivalentes de las que
no lo son.
La integración de vistas consiste en partir de dos vistas y obtener una tercera que las englobe,
así sucesivamente hasta llegar al esquema global.
Ejemplo: conflicto de nombre e entidades, un sistema trata con AUTOR y con cod_autor
como atributo identificador y otro, con ESCRITOR e identificador cod_escritor.
o una entidad es disjunta con respecto a otra, pero ambas poseen atributos comunes, es
decir, son un subtipo de una tercera entidad. Solución: crear el supertipo. Se llama restricción de
disyunción.
3.- Conflicto entre tipos de objetos en los que un atributo en una vista es una entidad es otra o
viceversa:
Ej: entidad EDITORIAL o atributo de LIBRO?. Si vemos que es importante almacenar información de
la editorial la consideraremos una entidad, sino será atributo.
Ej: interrelación escribe entre AUTOR y DOCUMENTO, en un caso 1,n y en otro n,n.
o se trata de dos interrelaciones distintas como escribe de tipo n,n y edita de tipo 1,n
(suponiendo que un documento puede ser editado por una persona). En este caso se deben
reflejar ambas interrelaciones con distintos nombres.
o la entidad AUTOR tiene una interrelación con DOCUMENTO que es escribe, mientras que un
subtipo de ella (que es EDITOR) tiene otra interrelación con DOCUMENTO, que es edita.
o existen dos subtipos de la entidad AUTOR, que poseen interrelaciones distintas con
DOCUMENTO, por ejemplo, el subtipo ESCRITOR y el subtipo EDITOR con las interrelaciones
escribe y edita, respectivamente.
Una vez integradas las vistas, habrá que analizar si se producen redundancias de
interrelaciones, lo que gráficamente se refleja en ciclos.
Los AIP, pasan a ser la clave primaria de la relación PRIMARY KEY. Los AIA, pasan a ser
UNIQUE. Ambas son cláusulas en el comando CREATE TABLE.
4.-Transformación de Interrelaciones
i ) Interrelaciones N:M
Se transforma en una relación que tendrá como clave primaria la concatenación de los AIP
de las entidades que asocia. Cada uno de estos atributos que forman parte de la clave primaria son
clave foránea respecto a las tablas en donde son claves primarias. Esto se representa por al
cláusula FOREING KEY dentro del comando CREATE TABLE de la relación.
ii ) Interrelaciones 1:N
ͻ Transformarlo en una relación, como si se tratara de una interrelación N:M. Esto es más
conveniente cuando:
Son casos en donde se puede crear una relación o bien propagar la clave. Esto último puede
ser en ambas direcciones.
HOMBRE(cod_hombre,....)
MUJER(cod_mujer,....)
Así, se evitan los valores nulos que aparecerían en caso de propagar la clave de la entidad
MUJER a la entidad HOMBRE o viceversa. Recordar que no todos los hombres ni todas las mujeres
están casados.
і Una de las entidades tiene cardinalidad (0,1) y la otra (1,1), conviene propagar la clave de
la entidad con cardinalidad (1,1) a la tabla resultante de la entidad de cardinalidad (0,1).
En MR: EMPLEADO(cod_empleado,...)
6.-Transformación de restricciones
Las restricciones son por ejemplo rango de valores para un determinado dominio. Muchas
de las restricciones no se representan en el esquema conceptual por lo que no existen reglas
claras para transformarlas. Usualmente las restricciones se consideran en la fase siguiente y se
implementan a través de funcionalidades particulares que ofrecen los SGBD comerciales.
Típicamente esto es a través de triggers.
En MR: LIBRO(cod_libro,...)
EJEMPLAR(cod_libro, cod_ejemplar,...)
Para dependencia en identificación, la clave primaria de la entidad débil debe estar formada
por la concatenación de las claves de las dos entidades participantes en la interrelación.
a Una sola relación, correspondiente al supertipo. Es conveniente cuando existan muy pocos
atributos diferentes entre los subtipos y las interrelaciones que los asocian con el resto de las
entidades del diagrama son las mismas para todos los subtipos.
ARTICULO(código,....)
LIBRO(código,...)
c Relaciones para los subtipos, que contengan además los atributos comunes. Es conveniente
cuando existen muchos atributos distintos entre los subtipos y los accesos realizados sobre los
datos de los distintos subtipos siempre afectan a atributos comunes.
LIBRO(código,título, idioma,...)
Esta etapa depende del SGBD comercial que se utilizará para implementar la base de datos
Indices
Son lógicamente y físicamente independientes de los datos. Se crean o eliminan sin que
produzca efectos en la base de datos. Se mantienen en forma automática por los SGBD.
Secuencias
Son generadores de números secuenciales utilizados como valor único para un determinado
atributo de una relación. Sin secuencias, el proceso normal de generación de estos enteros
conlleva un bloqueo manual en acceso para actualización de la tabla que los contiene. Con este
mecanismo, las estructuras se bloquean justo en el momento de la actualización.
Cluster o agrupaciones
Es una estructura formada por una o varias tablas. Las filas de éstas que comparten el mismo
valor de clave se almacenan físicamente juntas.
Vistas
Son visiones lógicas de tablas, que permiten entregar a los usuarios sólo la información que a
éstos les interesa. Facilitan el control de la seguridad de la base de datos
Sinónimos
Links
Son enlaces definidos desde la base de datos local a una base de datos remota.
OpenRecordSet y como la propiedad RecordSource del control de datos. También se puede utilizar
con el método Execute para crear y manipular directamente las bases de datos Jet y crear
consultas SQL de paso a través para manipular bases de datos remotas Cliente ʹ Servidor.
El lenguaje SQL está compuesto por comandos, cláusulas, operadores y funciones de agregado.
Estos elementos se combinan en las instrucciones para crear actualizar y manipular las bases de
datos.
ͻ Los DLL que permiten crear y definir nuevas bases de datos, campos e índices.
ͻ Los DML que permiten generar consultas para ordenar , filtrar y extraer datos de la base de
datos.
Comandos DLL
Create:
Alter:
Utilizado para modificar las tablas agregando campos o cambiando la definición de los campos.
Drop:
Comandos DML
Select:
Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado
Insert:
Delete:
Update
<
Menor que
>
Mayor que
Distinto que
Igual que
Between
In
And
Es el ͞y͟ lógico. Evalúa dos condiciones y devuelve un valor de verdad sólo si ambas son ciertas
Or
Es el ͞o͟ lógico. Evalúa dos condiciones y devuelve un valor de verdad si en alguna de las dos es
cierta.
Not
Se señalaba hace un par de décadas respecto de las variadas versiones existentes que la mejor
versión de SQL debería incorporar todas las operaciones del álgebra relacional.
Actualmente SQL no incluyen la operación división por esto podemos afirmar que SQL es
incompleto respecto del álgebra relacional. Sin embargo es posible emular esta operación en la
mayoría de las versiones de SQL.
Tabla de base
Es una tabla que tiene existencia independiente. En la base de datos física se representa por un
archivo almacenado. Se puede crear una tabla de base en cualquier momento ejecutando la
proposición CREATE TABLE del DDL de SQL, la cual adopta la forma general:
[ IN SEGMENT nombre-de-segmento ]
NOMS (CHAR(20) ),
ESTADO (SMALLINT) ),
CIUDAD(CHAR(15) ) )
NOMP (CHAR(20) ),
COLOR (CHAR(6) ),
PESO (SMALLINT) ),
CIUDAD(CHAR(15) ) )
PX (CHAR(6), NONULL),
CTD (INTEGER) )
La ejecución fructífera de una proposición CREATE TABLE hace que una tabla de base nueva
(vacía) se cree en el segmento especificado con el nombre-de-tabla-de-base especificado v las
definiciones-de-campo especificadas. (Los segmentos y las definiciones-de-campo se explican más
adelante). El usuario puede ahora proceder a introducir datos en esa tabla usando la proposición
INSERT de SQL (parte del DML de SQL). Por otra parte, el usuario puede invocar al cargador de
System R, que es un programa de utilería suministrado por el sistema para realizar esta función.
Campos
SQL admite el concepto de valores de campos nulos. En efecto, cualquier campo puede contener
un valor nulo a menos que la definición de ese campo en CREATE TABLE incluya de modo explícito
la especificación NONULL. Nulo es un valor especial que se usa para representar un "valor
desconocido͟ o un ͞valor inaplicable". Por ejemplo, un registro de remesa puede contener un
valor nulo de CTD (se sabe que la remesa existe, pero se desconoce la cantidad enviada); o un
registro de proveedor puede contener un valor nulo de ESTADO (quizá el "estado" no se aplique a
los proveedores de parís por alguna razón). Aquí no se estudian en detalle las propiedades del
valor nulo, sino que basta señalar que (a) las expresiones aritméticas donde uno de los operandos
es nulo se evalúan en el valor nulo, y (b) las comparaciones donde uno de los operandos de
comparación es nulo se evalúan en el valor de verdad "desconocido".
Al igual que una tabla de base nueva puede crearse en cualquier momento, también una tabla de
base existente puede agrandarse en cualquier instante, adicionando una nueva columna (un
campo) a la derecha:
Por ejemplo
EXPAND TABLE SP
Esta proposición adiciona un campo FECHA a la tabla SP. Todos los registros existentes de SP se
aumenta de tres a cuatro campos; el valor del campo nuevo es nulo en cada caso (no se permite
la especificación NONULL en EXPAND TABLE ). Nótese, además, que la ampliación de los registros
existentes antes mencionada no significa que los registros de la base de datos sean en realidad
actualizados en ese instante solo su descripción almacenada cambia. También es posible destruir
una tabla de base existente en cualquier instante:
DROP TABLE nombre-de-tabla-de-base
Todos los registros de tabla de base especificada se eliminan, todos los índices y las vistas sobre
esa tabla se destruyen, y luego se destruye, también la tabla misma (es decir, su descripción se
suprime del diccionario y su espacio de almacenamiento se libera).
Índices
Al igual que las tablas de base, los índices se crean y eliminan usando el DDL de SQL sin embargo,
CREATE INDEX y DROP INDEX así como ciertas proposiciones de control de los datos, son las únicas
del lenguaje SQL que se refieren a los índices; otras proposiciones -en particular las de acceso a los
datos, como SELECT- no incluyen de modo explícito ninguna de esas referencias. La decisión en
cuanto a usar o no un índice al responder una solicitud particular de datos no la toma el usuario,
sino System R (en realidad el optimizador componente del precompilador de RDS).
Nombre-de-tabla-de-base
CREATE INDEX X ON T ( A, B, C )
creará un índice llamado X sobre la tabla de base T donde las entradas se ordenan por valores
ascendentes de C dentro de valores ascendentes de B dentro de los valores ascendentes de A.
Una vez creado, un índice se mantiene de manera automática (por RSS) para reflejar las
actualizaciones en la tabla de base indicada, hasta el instante en que el índice se suprime. La
opción UNIQUE de CREATE INDEX especifica que no habrá dos registros en la tabla de base
indicada a los que se les permita tomar el mismo valor para el campo o combinación de campos
indicados (al mismo tiempo). Esta es la única manera de especificar que no se permiten valores
duplicados para ningún campo o combinación de campos. De esta manera, si se desea hacer
cumplir la unicidad de las llaves primarias en la base de datos de proveedores y partes, se deben
añadir proposiciones tales como las siguientes:
(los índices, al igual que las tablas de base, se pueden crear y suprimir en cualquier momento. En
el ejemplo se debe asegurar que los índices XS, XP y XSP se crean antes de colocar cualquier dato
en las tablas de base S, P y SP; de lo contrario, las restricciones de unicidad pueden haberse
violado. Un intento de crear un índice único sobre una tabla que no satisfaga la restricción de
unicidad tendrá que fracasar). La proposición para suprimir un índice es DROP INDEX nombre-de-
índice.
El comando CREATE TABLE es usado para crear archivos de base de datos, también se
encuentra un par de comandos para insertar tuplas o para actualizarlas. Se puede definir un
archivo o tabla de hasta 27 Columnas.
[, column_definition . . .]
[, uniqueness constraint] );
Column_definition
column_name
Un atributo puede tener de 1 a 10 caracteres, el primer carácter del atributo debe ser una
letra.
data_type
Numeric
(Exact Numeric)
INT
SMALLINT
Characters
[Char (length) ]
Este tipo de datos permite combinar caracteres, se justifica a la izquierda, el máximo es
ochenta caracteres. CHARACTER y CHAR pueden usarse indistintamente. Si se omite el length
modifier, entonces se asume el largo uno.
Date
Este tipo crea una columna de ancho ocho caracteres. Las fechas son de la forma mm/dd/'yy
estimándose atómica.
Logical
Y, y, N, n, T, t, F, f, or ?
Not Null
UNIQUE modifier
ACTIVIDAD:
Manufacturas monolíticas produce y vende productos de alta calidad en el oeste de los EE.UU.
posee sucursales en varios estados. Los productos son manufactura dos por lotes, cuando el lote
es terminado se registra en la base de datos, específicamente en el archivo de base de datos
correspondiente, con la fecha, el código del producto, el estado donde el producto fue
manufacturado la cantidad de ítems vendibles y el porcentaje de defectuosos del lote. Señala al
archivo de manufacturado el archivo de productos algo tan simple como, dado el código, la
descripción del producto. Las ventas efectuadas por cada sala de venta es registrada en un archivo
de ventas. Cuando una venta es efectuada, se registra la fecha, la sucursal, el comprador, el
vendedor, el producto y la cantidad vendida. Señala el archivo de ventas al archivo de sucursales,
al de vendedores y al de clientes. El archivo de empleados contiene el número del empleado, su
nombre, y el empleado jefe. El archivo de sucursales contiene el número de sucursal el estado y
el administrador. El archivo de cliente contiene el número de cliente, el estado donde reside, su
nombre.
En esta parte se presenta la porción de DML del lenguaje SQL El DML de SQL opera a la vez con
tablas de base y vistas.
Operaciones de recuperación
FORM
debe confundirse el SELECT algebraico con el SELECT de SQL) Ahora se procede a explicar las
características principales del lenguaje de recuperación por medio de un conjunto de ejemplos
desarrollados con cuidado.
Recuperación simple
SELECT PX
FROM SP
SELECT UNIQUE PX
FROM SP
La justificación para exigir al usuario que especifique UNIQUE en tales casos es que (a) la
eliminación de duplicados puede ser una operación costosa, y (b) los usuarios a menudo no
advertirán la presencia de los duplicados en sus resultados. Además, se adopta en INGRES una
filosofía semejante.
Recuperación simple
SELECT *
FORM S
El asterisco es una abreviatura de una lista ordenada de todos los nombres de campo en la tabla
FROM (como lo especificó el diccionario se SQL en el momento en que el SELECT se precompiló: no
se incluirá ningún campo agregado después de la tabla por medio de EXPAND TABLE). La
proposición SELECT mostrada es, pues, equivalente a:
FROM S
Recuperación calificada:
Obtenga números de proveedor para los proveedores de París con estado > 20.
SELECT SX
FROM S
La condición o predicado que sigue a WHERE puede incluir los operadores de comparación =, =(no
igual), >, >=, 25
El proveedor S5 no satisface los requisitos. Cuando un valor nulo se compara con algún otro valor
al evaluar un predicado, cualquiera que sea el operador de comparación utilizado, el resultado de
la comparación nunca es verdadero, incluso si ese otro valor también es nulo; en otras palabras,
ninguna de las siguientes comparaciones da verdadero:
nulo > 25
nulo < 25
nulo = 25
nulo = 25
nulo = nulo
ACTIVIDAD:
FROM LOT;
02-07-94 GC ID 12 15
02-01-94 GC ID 0 55
02-02-94 NM CA 17 93
02-02-94 DD ID 25
02-03-94 DD WA 22 46
02-02-94 NM WA 15 25
02-04-94 DD AZ 12 25
02-04-94 DD CA 15 25
02-06-94 GC AZ 4 43
FROM LOT;
COD_ART EST_ART
GC ID
GC ID
NM CA
DD ID
DD WA
NM WA
DD AZ
DD CA
GC AZ
FROM LOT;
EST_ART
ID
CA
WA
AZ
FROM LOT;
EST_ART COD_ART
ID GC
ID GC
CA NM
ID DD
WA DD
WA NM
AZ DD
CA DD
AZ GC
5- SELECT *
FROM CLI
ZZ ORGANOMICE AZ 34
DD QUARKO AZ AZ
6- SELECT *
FROM LOT
02-07-94 GC ID 12 15
02-02-94 NM CA 17 93
02-03-94 DD WA 22 46
02-02-94 NM WA 15 25
02-04-94 DD AZ 12 25
02-04-94 DD CA 15 25
7- SELECT NOM_CLI
FROM CLI
NOM_CLI
TECHNOHARPS
ORGANOMICE
QUARKCO
MARSWARP
MULTICRUD
8- SELECT *
FROM LOT
02-07-94 GC ID 12 15
02-01-94 GC ID 0 55
02-02-94 DD ID 0 25
9- SELECT COD_ART
FROM LOT
COD_ART
DD
10- SELECT *
FROM LOT
02-07-94 GC ID 12 15
02-01-94 GC ID 0 55
02-02-94 NM CA 17 93
02-03-94 DD WA 22 46
02-02-94 NM WA 15 25
02-04-94 DD AZ 12 25
02-04-94 DD CA 15 25
02-06-94 GC AZ 4 43
FROM LOT
COD_ART
DD
FROM LOT
COD_ART
GC
DD
NM
13- SELECT DISTINCT COD_ART
FROM LOT
COD_ART
NO ROWS FOUND
14- SELECT *
FROM LOT
02-02-94 NM CA 17 93
02-04-94 DD AZ 12 25
02-04-94 DD CA 15 25
02-06-94 GC AZ 4 43
FROM LOT
FROM LOT
GC
DD
NM
FROM LOT
02-07-94 GC ID 12 15
02-01-94 GC ID 0 55
02-02-94 NM WA 15 25
FROM LOT
02-07-94 GC ID 12 15
02-01-94 GC ID 0 55
02-03-94 DD WA 22 46
02-02-94 NM WA 15 25
FROM LOT
WHERE DEF_ART = ANY(12,15);
02-07-94 GC ID
02-02-94 NM WA
02-04-94 DD AZ
02-04-94 DD CA
FROM LOT
02-02-94 NM CA
02-04-94 DD AZ
02-04-94 DD CA
02-06-94 GC AZ
FROM LOT
GC ID 12
NM WA 15
DD AZ 12
DD CA 15
22- SELECT *
FROM LOT
02-07-94 GC ID 12 15
02-01-94 GC ID 0 55
02-02-94 NM CA 17 93
02-03-94 DD WA 22 46
02-04-94 DD AZ 12 25
02-06-94 GC AZ 4 43
23- SELECT
FROM LOT
El lenguaje de recuperación descrito hasta ahora es ͞completo͟, según se acaba de explicar, es aún
inadecuado para muchos problemas prácticos. SQL, por tanto, proporciona varias funciones
integradas especiales para mejorar su poder básico de recuperación. Las funciones soportadas
actualmente son: COUNT, SUM, AVG, MAX y MIN. Todas estas funciones producen el siguiente
resultado:
ACTIVIDAD:
En SQL aplique cada una de las consultas dadas e identifique la semántica de cada consulta,
señale en que consultas afectan los valores NULL de los archivos de base de datos monolítica.
FROM LOT;
CNT(COD_ART)
FROM LOT;
CNT(EST_ART)
FROM LOT;
CNT(*)
SELECT EMP;
CNT(COD_JEF)
14
SELECT EMP;
CNT(COD_JEF)
FROM LOT
GC ID 12
GC ID 0
DD ID
FROM LOT
AVG (DEF_ART)
FROM LOT
WHERE COD_ART = ͚DD͛;
SUM(QTY_ART)
121
FROM LOT
AVG(QTY_ART) SUM(QTY_ART)
30 121
ACTIVIDAD:
FROM LOT;
COD_ART DEF_ART
GC 24
GC 0
NM 34
DD
DD 44
NM 30
DD 24
DD 30
GC 8
FROM LOT
GROUP BY EST_ART;
EST_ART AVG(DEF_ART)
AZ 8
CA 16
ID 6
WA 18
FROM LOT
FROM LOT
ORDER BY ART_DEF;
FROM LOT
SINTAXIS:
[, column_name... )]] AS
select_statement
UPDATE
SINTAXIS:
UPDATE table_name
WHERE search_condition
DELETE (ATRIBUTOS)
SINTAXIS:_
SINTAXIS:
ACTIVIDAD:
Determine la salida de cada consulta sin aplicar SSQL, aplique sólo para verificar.
38- SELECT *
FROM LOT
UNION
FROM VEN
(SELECT SUM(QTY_ART)
FROM VEN
FROM VEN
WHERE COD_CLI IN
(SELECT COD_CLI
FROM CLI
43- SELECT *
FROM VEN
(SELECT AVG(QTY_ART)
FROM VEN);
SELECT *
(SELECT AVG(QTY_ART)
FROM VEN
FROM ART
WHERE EXIST
(SELECT *
FROM VEN
SET DEF_ART = 10
SET RTG_CLI = 30
WHERE COD_CLI IN
(SELECT AVG(QTY_ART)
FROM VEN) );
53- SELECT *
FROM VEN
WHERE COD_CLI IN
(SELECT COD_CLI
FROM CLI
(SELECT COD_CLI
FROM CLI
(SELECT *
FROM CLI
FROM CLI;
57- SELECT *
FROM CLTE;
Fin
BIBLIOGRAFÍA
ͻ Silberschatz, Abraham Korth, Sudarshan, S. Fundamentos de Bases de Datos, Tercera Edición,
Madrid, Editorial Mc Hill, 1998.
ͻ Wiederhold, Gio Diseño de Bases de Datos. Segunda Edición, USA, Editorial Mc Graw Hill, 1998.
ͻ http://usuarios.tripod.es/smaug