UNIDAD 2 Modelo ER

Descargar como doc, pdf o txt
Descargar como doc, pdf o txt
Está en la página 1de 40

El modelo E-R se basa en una percepcin del mundo real, la cual esta

formada por objetos bsicos llamados entidades y las relaciones entre


estos objetos as como las caractersticas de estos objetos llamados
atributos.

2.1 Entidades y conjunto de entidades


Una entidad es un objeto que existe y se distingue de otros objetos de
acuerdo a sus caractersticas llamadas atributos. Las entidades pueden
ser concretas como una persona o abstractas como una fecha.
Un conjunto de entidades es un grupo de entidades del mismo tipo.
Por ejemplo el conjunto de entidades CUENTA, podra representar al
conjunto de cuentas de un banco X, o ALUMNO representa a un
conjunto de entidades de todos los alumnos que existen en una
institucin.
Una entidad se caracteriza y distingue de otra por los atributos, en
ocasiones llamadas propiedades, que representan las caractersticas de
una entidad. Los atributos de una entidad pueden tomar un conjunto
de valores permitidos al que se le conoce como dominio del atributo.
As cada entidad se describe por medio de un conjunto de parejas
formadas por el atributo y el valor de dato. Habr una pareja para cada
atributo del conjunto de entidades.

Ejemplo:

Hacer una descripcin en pareja para la entidad alumno con los


atributos No_control, Nombre y Especialidad.
Nombre_atributo, Valor
No_control ,

96310418

Nombre

Esp

Snchez Osuna Ana


LI

O considerando el ejemplo del Vendedor cuyos aributos son: RFC,


Nombre, Salario.
Nombre_atributo, Valor
RFC

, COMD741101YHR

Nombre

, Daniel Coln Morales

Salario

, 3000

2.2 Relaciones y conjunto de relaciones.


Una relacin es la asociacin que existe entre dos a ms entidades.
Un conjunto de relaciones es un grupo de relaciones del mismo tipo.
La cantidad de entidades en una relacin determina el grado de la
relacin, por ejemplo la relacin ALUMNO-MATERIA es de grado 2, ya
que intervienen la entidad ALUMNO y la entidad MATERIA, la relacin
PADRES, puede ser de grado 3, ya que involucra las entidades PADRE,
MADRE e HIJO.
Aunque el modelo E-R permite relaciones de cualquier grado, la
mayora de las aplicaciones del modelo slo consideran relaciones del
grado 2. Cuando son de tal tipo, se denominan relaciones binarias.
La funcin que tiene una relacin se llama papel, generalmente no
se especifican los papeles o roles, a menos que se quiera aclarar el
significado de una relacin.
Diagrama E-R (sin considerar los atributos, slo las entidades) para
los modelos ejemplificados:

2.3 Limitantes de mapeo.


Existen 4 tipos de relaciones que pueden establecerse entre
entidades, las cuales establecen con cuantas entidades de tipo B se
pueden relacionar una entidad de tipo A:

Tipos de relaciones:
Relacin uno a uno.
Se presenta cuando existe una relacin como su nombre lo indica
uno a uno, denominado tambin relacin de matrimonio. Una entidad
del tipo A solo se puede relacionar con una entidad del tipo B, y
viceversa;

Por ejemplo: la relacin asignacin de automvil que contiene a las


entidades EMPLEADO, AUTO, es una relacin 1 a 1, ya que asocia a un
empleado con un nico automvil por lo tanto ningn empleado posee
ms de un automvil asignado, y ningn vehculo se asigna a ms de
un trabajador.
Es representado grficamente de la siguiente manera:

A: Representa a una entidad de cualquier tipo diferente


a una entidad B.
R: en el diagrama representa a la relacin que existe entre las
entidades.
El extremo de la flecha que se encuentra punteada indica el uno de la
relacin, en este caso, una entidad A ligada a una entidad B.
Relacin uno a muchos.
Significa que una entidad del tipo A puede relacionarse con cualquier
cantidad de entidades del tipo B, y una entidad del tipo B solo puede
estar relacionada con una entidad del tipo A.
Su representacin grfica es la siguiente:

Ntese en este caso que el extremo punteado de la flecha de la


relacin de A y B, indica una entidad A conectada a muchas entidades
B.
Muchos a uno.
Indica que una entidad del tipo B puede relacionarse con cualquier
cantidad de entidades del tipo A, mientras que cada entidad del tipo A
solo puede relacionarse con solo una entidad del tipo B.

Muchas a muchas.
Establece que cualquier cantidad de entidades del tipo A pueden estar
relacionados con cualquier cantidad de entidades del tipo B.

A los tipos de relaciones antes descritos, tambin se le conoce como


cardinalidad.
La cardinalidad nos especifica los tipos de relaciones que existen
entre las entidades en el modelo E-R y establecer con esto las
validaciones necesarias para conseguir que los datos de la instancia
(valor nico en un momento dado de una base de datos) correspondan
con la realidad.
Algunos ejemplos de cardinalidades de la vida comn pueden ser:
Uno a uno.

El noviazgo, el RFC de cada persona, El CURP personal, El acta de


nacimiento, ya que solo existe un solo documento de este tipo para cada
una de las diferentes personas.
Uno a muchos.
Cliente Cuenta en un banco, Padre-Hijos, Camin-Pasajeros,
zoologico- animales, rbol hojas.
Muchos a muchos.
Arquitecto proyectos, fiesta personas, estudiante materias.
NOTA:
Cabe mencionar que la cardinalidad para cada conjunto de entidades
depende del punto de vista que se le de al modelo en estudio, claro esta,
sujetndose a la realidad.
Otra clase de limitantes lo constituye la dependencia de existencia.
Refirindonos a las mismas entidades A y B, decimos que si la
entidad A depende de la existencia de la entidad B, entonces A es
dependiente de existencia por B, si eliminamos a B tendramos que
eliminar por consecuente la entidad A, en este caso B es la entidad
Dominante y A es la entidad subordinada.

LLAVES PRIMARIAS
Uno de los procesos de mayor relevancia en la manipulacin de una
base de datos es el de distinguir entre las diversas entidades y
relaciones que son manipuladas. Entendemos como una llave al medio
que nos permite identificar en forma unvoca (nica e inequvoca) a una
entidad dentro de un conjunto de entidades.
Existen diversas categoras que permiten clasificar los tipos de llaves a
utilizara:
a) SUPER -LLAVE.- Es un conjunto de atributos mediante los cuales es
posible reconocer a una entidad. Este tipo de llaves contiene
comnmente atributos ajenos; es decir; atributos que no son
indispensables para llevar a cabo el reconocimiento del registro.
Ejemplo:
Conjunto de entidades: Cursos

Atributos Super llaves


*Nombre materia Nombre, mat, carrera, semestre
*Carrera Nombre, mat, carrera, unidades
*Semestre Nombre, mat, carrera, semestre, periodo
*Periodo Nombre, mat, carrera
*Unidades
b) LLAVE CANDIDATO.- Son aquellas super llaves que no contienen
atributos ajenos; es decir, aquellos conjuntos de atributos que no tienen
un subconjunto menor que pueda considerarse como super llave.
c) LLAVE PRIMARIA.- Es aquella llave que el diseador de la base de
datos selecciona entra las llaves candidatos encontradas.
Existen conjuntos de entidades que no poseen los atributos
necesarios para conformar una llave primaria; se les conoce como
entidad dbil. Cuando existen los atributos necesarios para formar una
llave primaria, se denominan entidad fuerte. Las entidades dbiles se
subordinan a las entidades fuertes.

Ejemplo:

Fuerte

Dbil

Fuerte

Nota: ncred y clave son las llaves primarias.


En el ejemplo anterior se pretende que el proceso de renta es una
entidad abstracta para clarificar el concepto de entidad dbil. No
obstante, la mejor implementaron consiste en manipular a la renta
como una relacin.

Las entidades dbiles no pueden ser conocidas por s solas; con el


objeto de diferenciarlas se seleccionan algunos de sus atributos para
formar un discriminador. Este discriminador se asocia con las llaves
primarias de las entidades fuertes a las que se encuentre subordinada
para formar as su llave primaria propia.
Los conjuntos de relaciones tambin tienen llaves primarias. Estas se
conforman por las llaves primarias de los conjuntos de entidades que se
asocian en la relacin y todos los atributos descriptivos de la relacin.

DIAGRAMAS DE ENTIDAD - RELACIN


Son esquemas que nos permitan representar conjunto de entidades y sus relaciones
mediante la siguiente simbologa.

* Conjunto de entidades o relacin con sus atributos


* Conjunto entidades con relaciones
* Cada elemento debe etiquetarse con su nombre.

CARDINALIDAD DE LAS RELACIONES

Notas:
a) Las entidades dbiles se sealan como rectngulos de doble pared
b) Los papeles se indican etiquetando las lneas que conectan a los rectngulos con los
rombos.
Ejercicios:
Represente mediante Diagramas E-R las siguientes situaciones:
-- Un vdeo club mantiene el control de sus clientes utilizando los siguientes datos:
numero de credencial, nombre, direccin y telfono; l catalogo de pelculas contiene
para cada cassette los datos clave, titulo, clasificacin y costo de renta.
A fin de imprimir los pagares y mantener un control de rentas, se registran tambin las
fechas de renta y la cantidad de das que el cliente mantendr la pelcula.

CONJUNTO DE RELACIONES CON DERIVACIN MLTIPLE


Puede darse el caso de que una relacin sea binaria: es decir, que asocie a mas de dos
conjunto de entidades. En estos casos la nica variacin para representar el modelo
consiste en que se establecer CARDINALIDAD para cada pareja de conjuntos de
entidades.

En un almacn se lleva el control de los artculos que son vendidos y facturados. El


objetivo primordial adems de mantener la informacin almacenada consisten en
proceso de facturacin. Los datos que se registran: RFC del cliente, nombre del cliente,
domicilio, clave del articulo, descripcin, costo unitario, numero de factura, fecha,
cantidad de artculos vendidos (de cada uno).

Reduccin de diagramas E-R a tablas


Un diagrama E-R, puede ser representado tambin a travs de una
coleccin de tablas. Para cada una de las entidades y relaciones existe
una tabla nica a la que se le asigna como nombre el del conjunto de
entidades y de las relaciones respectivamente, cada tabla tiene un
nmero de columnas que son definidas por la cantidad de atributos y
las cuales tienen el nombre del atributo.
La transformacin de nuestro ejemplo Venta en la que intervienen las
entidades de Vendedor con los atributos RFC, nombre, puesto, salario y
Artculo con los atributos Clave, descripcin, costo.
Cuyo diagrama E-R es el siguiente:

Entonces las tablas resultantes siguiendo la descripcin anterior son:


Tabla Empleado
Nombre Puesto Salario
Tefilo
Cesar

Vendedor
Auxiliar
ventas

RFC

2000

TEAT701210XYZ

1200

COV741120ABC

Tabla artculo
Clave Descripcin Costo
A100

Abanico

460

C260

Colcha
1200
matrimonial
Tabla Venta
RFC

Clave

TEAT701210XYZ C260
COV741120ABC A100
Ntese que en la tabla de relacin - Venta -, contiene como atributos a
las llaves primarias de las entidades que intervienen en dicha relacin,
en caso de que exista un atributo en las relaciones, este atributo es
anexado como una fila ms de la tabla;
Por ejemplo si anexamos el atributo fecha a la relacin venta, la tabla
que se originaria sera la siguiente:
RFC

Clave Fecha

TEAT701210XYZ C260 10/12/96


COV741120ABC A100 11/12/96

Hasta aqu trabajaremos

UNIDAD 3
Modelo relacional
La ventaja del modelo relacional es que los datos se almacenan, al
menos conceptualmente, de un modo en que los usuarios entienden con
mayor facilidad. Los datos se almacenan como tablas y las relaciones
entre las filas y las tablas son visibles en los datos. Este enfoque
permite a los usuarios obtener informacin de la base de datos sin
asistencia de sistemas profesionales de administracin de informacin.
Las caractersticas ms importantes de los modelos relacionales son:
a. Es importante saber que las entradas en la tabla tienen un solo
valor (son atmicos); no se admiten valores mltiples, por lo tanto
la interseccin de un rengln con una columna tiene un solo
valor, nunca un conjunto de valores.
b. Todas las entradas de cualquier columna son de un solo tipo. Por
ejemplo, una columna puede contener nombres de clientes, y en
otra puede tener fechas de nacimiento. Cada columna posee un
nombre nico, el orden de las comunas no es de importancia para
la tabla, las columnas de una tabla se conocen como atributos.
Cada atributo tiene un dominio, que es una descripcin fsica y
lgica de valores permitidos.
c. No existen 2 filas en la tabla que sean idnticas.
d. La informacin en las bases de datos son representados como
datos explcitos, no existen apuntadores o ligas entre las tablas.
En el enfoque relacional es sustancialmente distinto de otros
enfoques en trminos de sus estructuras lgicas y del modo de las
operaciones de entrada/salida. En el enfoque relacional, los datos se
organizan en tablas llamadas relaciones, cada una de las cuales se
implanta como un archivo. En terminologa relacional una fila en una

relacin representa un registro o una entidad; Cada columna en una


relacin representa un campo o un atributo.
As, una relacin se compone de una coleccin de entidades(o
registros) cuyos propietarios estn descritos por cierto nmero de
atributos predeterminados implantados como campos.

3.1 Estructura de las bases de datos


relacionales
La arquitectura relacional se puede expresar en trminos de tres
niveles de abstraccin: nivel interno, conceptual y de visin.
La arquitectura relacional consta de los siguientes componentes:
1. Modelo relacional de datos:
En el nivel conceptual, el modelo relacional de datos est
representado por una coleccin de relaciones almacenadas. Cada
registro de tipo conceptual en un modelo relacional de datos se
implanta como un archivo almacenado distinto.
2. Submodelo de datos:
Los esquemas externos de un sistema relacional se llaman
submodelos relacionales de datos; cada uno consta de uno a ms
escenarios (vistas) para describir los datos requeridos por una
aplicacin dada. Un escenario puede incluir datos de una o ms
tablas de datos. Cada programa de aplicacin est provisto de un
buffer ("Area de trabajo de usuario") donde el DBMS puede
depositar los datos recuperados de la base para su
procesamiento, o puede guardar temporalmente sus salidas antes
de que el DBMS las escriba en la base de datos.
3. Esquema de almacenamiento:
En el nivel interno, cada tabla base se implanta como un
archivo almacenado. Para las recuperaciones sobre las claves

principal o secundaria se pueden establecer uno o ms ndices


para accesar un archivo almacenado.
4. Sublenguaje de datos:
Es un lenguaje de manejo de datos para el sistema relacional, el
lgebra relacional y clculo relacional, ambos lenguajes son
"relacionalmente completos", esto es, cualquier relacin que pueda
derivarse de una o ms tablas de datos, tambin se puede derivar
con u solo comando del sublenguaje. Por tanto, el modo de operacin
de entrada/Salida en un sistema relacional se puede procesar en la
forma: una tabla a la vez en lugar de: un registro a la vez; en otras
palabras, se puede recuperar una tabla en vez de un solo registro
con la ejecucin de un comando del sublenguaje de datos.

3.2 Lenguajes de consulta formales.


Los lenguajes de consultas:
Son los lenguajes en el que los usuarios solicitan informacin de la
base de datos. Estos lenguajes son generalmente de ms alto nivel que
los lenguajes de programacin. Los lenguajes de consulta pueden
clasificarse como procedimentales y no procedimentales;
En el lenguaje del tipo procedimental el usuario da las instrucciones
al sistema para que realice una secuencia de operaciones en la base de
datos para calcular el resultado deseado.
En el lenguaje no procedimental, el usuario describe la informacin
deseada sin dar un procedimiento especfico para obtener dicha
informacin.
El lgebra relacional es un lenguaje de consulta formal
procedimental, el lgebra relacional define operadores que funcionan
sobre las tablas (de una manera similar a los operadores +,-,etc. del
lgebra comn ) para llegar al resultado deseado. El lgebra relacional
es difcil de utilizar, debido en parte a que es procedimental, esto es, al
utilizar el lgebra relacional no slo debemos saber lo que queremos,
tambin cmo obtenerlo.
En el proceso de bases de datos comerciales el lgebra relacional se
utiliza de manera poco frecuente. Aunque unos cuantos productos

exitosos DBMS s tienen opciones del lgebra relacional, stas son poco
utilizadas en vista de su complejidad.
El lgebra relacional toma dos o ms tablas como entrada produce
una nueva tabla como resultado de la serie de operaciones. Las
operaciones fundamentales en el lgebra relacional son seleccionar,
proyectar, producto cartesiano, renombrar, unin y diferencia de
conjuntos. Adems de las operaciones fundamentales existen otras
operaciones como son: interseccin de conjuntos, producto natural,
divisin y asignacin.
** Operaciones fundamentales **
Las operaciones seleccionar, proyectar y renombrar, son
denominadas operaciones unitarias ya que operan sobre una tabla. Las
otras operaciones operan sobre pares de relaciones y, por tanto se
llaman operaciones binarias.
* La operacin seleccionar.
Esta operacin selecciona tuplas (filas) que satisfacen una
instruccin(condicin) dada de una tabla. Se representa por medio de
parntesis.
(nombre_tabla

WHERE condicin);

La oracin de la instruccin despus de la clusula WHERE puede


incluir condiciones de igualdad como =,=,<,>,>=,<=,adems que se
puede hacer una oracin ms compleja usando los conectores y (^) y o
(v).
* La operacin Proyectar.
Consiste en identificar las columnas (atributos en el modelo E-R) que
nos interesa conocer. Se representa por medio de corchetes. Si este se
omite indicara que se desea obtener todas las columnas de la tabla en
cuestin.
(nombre_tabla WHERE condicin) [Nombre_atributo];
* La operacin Producto cartesiano.
Consiste en multiplicar todas las tuplas entre tablas, obteniendo
como resultado una tabla que contiene todas las columnas de ambas
tablas. Se especifica con la orden TIMES.

Nombre_tabla TIMES Nombre_tabla;


* La operacin Join.
Consiste en obtener el producto (multiplicacin) de todas las tuplas de
una tabla con las de la otra, para posteriormente evaluar aquellas cuyo
campo en comn sea igual generando como resultado una nueva tabla
que tiene como tuplas (renglones) que cumplen con la condicin
establecida. Se representa con la orden JOIN.
La orden Join es colocada entre las dos tablas a multiplicar despus
de que la primera especifica la operacin de seleccin y proyeccin.
(Tabla)[atributo] JOIN (Tabla)[Atributo];
* La operacin Divide.
Toma dos relaciones, una binaria y la otra unaria, construye una
relacin formada por todos los valores de un atributo de la relacin
binaria que concuerdan (en el otro atributo) con todos los valores de la
relacin unaria. Se representa con la orden DIVIDEBY.
NomTablaBin DIVIDEBY NomTablaUna
* La operacin Diferencia.
Construye una relacin formada por todas las tuplas (filas) de la
primera relacin que no aparezcan en la segunda de las dos relaciones
especificadas. Se representa con la orden MINUS.
Nom_tablaA MINUS NomTablaB;
* La operacin Unin.
Construye una relacin formada por todas las tuplas de la primera
relacin y todas las tuplas de la segunda relacin. El requisito es que
ambas relaciones sean del mismo tipo.
Nom_TablaA UNION Nom_tablaB
* La operacin interseccin.
Construye una nueva tabla compuesta por todas las tuplas que estn
en la primera y segunda tabla.
Nom_TablaA INTERSEC Nom_tablaB

Ejemplos:
Para ejemplificar las notaciones anteriores consideremos el ejemplo
ALUMNO cursa
- MATERIA, que tienen los siguientes
atributos:
NControl
NControl
Clave
NombreA
Clave
NombreM
Especialidad Calif
Crditos
Direccin
Representando en tablas a los atributos quedaran de la siguiente
forma:
Tabla alumno:
NControl NombreA Especialidad Direccin

Tabla cursa:
NControl Clave Calif

Tabla materia:
Clave NombreM Crditos

1.- Obtener el nombre de todos los alumnos que estn inscritos en la


Institucin.
(Alumno) [NombreA];
2.- Obtener el nombre de los alumnos que cursan la materia Base de
datos 1 cuya clave es SCB9333
(Alumno) JOIN (Cursa where Clave='SCB9333') [NombreA];
3.- Obtener los nombres de los alumnos de la especialidad de Ing.
Sistemas que cursan la materia Base de datos 2.

((Alumno)[especialidad,NombreA,NControl]
JOIN (Cursa) where especialidad = 'ISC')[Clave,NombreA])
JOIN (Materia where NombreM='BD2')[NombreA];
En el lgebra relacional no solo debemos saber lo que queremos si
no tambin como obtenerlo, al realizar las consultas debemos
especificar el nombre de la tabla a utilizar en caso de que deseemos
realizar una operacin con un atributo que las otras tablas no tienen
debemos "arrastrar" dicho atributo para poder utilizarlo, como lo es en
el caso anterior, en donde requerimos el nombre del alumno que
solamente lo tiene la tabla alumno, pro tambin deseamos que se
cumpla la condicin NombreM=BD2, como no podemos relacionar
directamente a ambas tablas empleamos la tabla cursa de donde
obtenemos la clave de las materias y mantenemos el nombre del alumno
(NombreA) finalmente con la orden JOIN se combinan las tablas por el
campo comn que tienen que es clave as que obtenemos una tabla con
todas las materias que cursan los alumnos de ISC, de donde
seleccionamos solo aquella que se llame BD2 con la orden Join
obtenemos esta nueva tabla de donde por ltimo proyectamos el
atributo NombreA que hemos venido "arrastrando".

Ejercicios propuestos:
Considere el modelo E-R del caso Mdico - atiende - Paciente.
Realizar:
* La conversin a tablas del modelo E-R.
* Las siguientes consultas en lgebra relacional.
1.- Obtener el nombre de Todos los mdicos.
2.- Obtener el nombre de todos los pacientes > de 18 aos.
3.- Obtener todos los datos de todos los pacientes.
4.- Obtener los nombres de todos los pacientes que consultan con el
mdico con cdula profesional ABC001.
5.- Obtener los nombres de los mdicos que atienden al paciente John
Smith.
6.- Suponiendo que el hospital de la Ciudad de la Paz tiene una tabla de
pacientes similar a la del hospital de San Jos, obtener el nombre y la
afiliacin de estos pacientes.

7.- Obtener las combinaciones de pacientes y mdicos excepto la de


aquellos mdicos cuya especialidad sea Oftalmologa.
Recuerde que tenemos que indicar las tablas a utilizar entre
parntesis y los atributos a proyectar entre corchetes, despus podemos
utilizar las ordenes Times, Join, Divide, Minus, Union, Intersec, segn
sea el caso a resolver; si requiere manipular atributos que no tengan las
otras tablas "arrstrelos" proyectando siempre entre cada operacin
dicho atributo. De cada operacin o combinacin que realice entre las
tablas se genera una tabla nueva que cumple con las condiciones que
establece

Solucin a problemas de algebra relacional.

La conversin a tablas del modelo Medico-atiende-Paciene resulta:


Tabla Mdico
Cdula NombreM Especialidad

Tabla Paciente
Afiliacin NombreP Sexo Edad

Tabla Atiende
Cdula Afiliacin Fecha

Hora

La solucin a las consultas son:


1.- (Medico)[NombreM];
2.- (Paciente where Edad>'18')[NombreP];
3.- (Paciente);
4.- (Paciente)[NombreP] JOIN (Atiende where Cdula='ABC001')
[NombreP];

5.- ((Mdico)[NombreM] JOIN (Atiende) JOIN (Paciente where


NombreP='John Smith' )) [NombreM];
6.- Consideremos 2 tablas de pacientes, Paciente1 y Paciente2,
entonces:
((Paciente1) UNION (Paciente2))[NombreP,Afiliacin];
7.- ((Paciente) TIMES (Mdico where especialidad<> 'Oftalmologa'));

Lenguajes de consultas comerciales


Un lenguaje de consulta comercial proporciona una interfaz ms
amigable al usuario. Un ejemplo de este tipo de lenguaje es el SQL,
(Structured Query Languaje, Lenguaje de Consulta Estructurado).
Las partes ms importantes del SQL son:
DDL: Lenguaje de definicin de datos (que nos permite crear las
estructuras )
DML: Lenguaje de manipulacin de datos (que nos permite tener
acceso a las estructuras para suprimir, modificar e insertar)
En este apartado estudiaremos la forma bsica para realizar
consultas con SQL, en el apartado 3.4: Modificacin de la base de
datos, estudiaremos lo que concierne a la modificacin de las tablas.
La estructura bsica de una expresin en SQL contiene 3 partes,
Select, From y Where.
La clusula Select se usa para listar los atributos que se desean en el
resultado de una consulta.

From, Lista las relaciones que se van a examinar en la evaluacin de la


expresin.

Where, es la definicin de las condiciones a las que puede estar sujeta


una consulta.

La consulta tpica de SQL tiene la siguiente forma:


Select A1,A2,A3...An

From r1,r2,r3...rm

Donde:

Where Condicin(es)

A1,A2,A3...An: Representan a cada atributo(s) o campos de las


tablas de la base de datos relacional.
R1,r2,r3...rm: Representan a la(s) tabla(s) involucradas en la
consulta.
Condicin: Es el enunciado que rige el resultado de la consulta.
Si se omite la clusula Where, la condicin es considerada como
verdadera, la lista de atributos (A1,A2..An) puede sustituirse por un
asterisco (*), para seleccionar todos los atributos de todas las tablas que
aparecen en la clusula From.
Funcionamiento del SQL.
El SQL forma el producto cartesiano de las tablas involucradas en la
clusula From, cumpliendo con la condicin establecida en la orden
Where y despus proyecta el resultado con la orden select.
Para nuestros ejemplos consideremos una tabla llamada CURSO, que
contiene los siguientes campos:

Nombre del campo


NumC
NombreC
DescC
Creditos

Descripcin
Nmero del curso, nico para identificar cada curso
Nombre del curso, tambin es nico
Descripcin del curso
Crditos, nmero de estos que gana al estudiante al
cursarlo

Costo

Costo del curso.

Depto

Departamento acadmico que ofrece el curso.

Datos contenidos en la tabla CURSO

NumC

NombreC

DescC

Creditos

Costo

Depto

A01

Liderazgo

Para pblico
General

10

100.00

Admn.

S01

Introduccin a la inteligencia artificial

Para ISC y LI

10

90.00

Sistemas.

C01

Construccin de torres

Para IC y
Arquitectura

0.00

Ciencias

B01

Situacin actual y perspectivas de la


alimentacin y la nutricin

Para IB

80.00

Bioqumica

Historia presente y futuro de la energa


solar

IE e II

10

100.00

Electromecnica.

S02

Tecnologa OLAP

Para ISC y LI

100.00

Sistemas

C02

Tecnologa del concreto y de las


Estructuras

Para IC

10

100.00

Ciencias

B02

Metabolismo de lpidos en el camarn

Para IB

10

0.00

Bioqumica

E02

Los sistemas elctricos de potencia

Para IE

10

100.00

Electromecnica

S03

Estructura de datos

Para ISC y LI

0.00

Sistemas

Diseo bioclimtico

Para
Arquitectura

10

0.00

E01

A01

Arquitectura

C03

Matemticas discretas

General

0.00

Ciencias

S04

Circuitos digitales

Para ISC

10

0.00

Sistemas

S05

Arquitectura de Computadoras

Para ISC

10

50.00

Sistemas

I01

Base de Datos Relacionales

Para ISC y LI

10

150.00

Informtica

Ejemplos de consultas:

OBTENCIN DE UNA TABLA ENTERA

Obtener toda la informacin disponible sobre un curso donde


Costo sea 0.

SELECT *
FROM CURSO
WHERE Costo=0.00
Resultado de la consulta anterior.

NumC

NombreC

DescC

Creditos

Costo

Depto

0.00

Ciencias

10

0.00

Bioqumica
Sistemas

C01

Construccin de torres

Para IC y
Arquitectura

B02

Metabolismo de lpidos en el camarn

Para IB

S03

Estructura de datos

Para ISC y LI

0.00

Diseo bioclimtico

Para
Arquitectura

10

0.00

A01

C03

Matemticas discretas

General

Arquitectura
8

0.00

Ciencias

Colocamos un * debido a que no nos limitan la informacin de la


tabla, es decir nos piden que mostremos todos los datos atributo de la
tabla CURSO.
Como la nica condicin en la sentencia WHERE es que la tarifa del
curso sea igual a 0, esta consulta regresa todas las tuplas donde se
encuentre que Costo = 0.00.
Debido a que Costo es un campo numrico, la condicin solo puede
comparar con campos del mismo tipo. Para representar valores
negativos se antepone a la izquierda el signo (-), en este ejemplo se
considera solo el signo (=) para establecer la condicin, sin embargo
otros operadores que se pueden utilizar son:
Menor que <
Mayor que >

Menor o igual que <=


Mayor o igual que >=
Diferente <>
Adems de los operadores booleanos AND, NOT, OR.
Cabe sealar que en la sentencia Where cuando se requiere
establecer condiciones con cadenas, estas son delimitadas por
apstrofos (). Las expresiones de cadenas son comparadas carcter por
carcter, dos cadenas son iguales solo si coinciden todos los caracteres
de las mismas.
Ejemplos de consultas con cadenas:

Obtener toda la informacin sobre cualquier curso que ofrezca el


departamento de Ciencias.

SELECT *
FROM CURSO
WHERE Depto = 'Ciencias';
Resultado de la consulta.

NumC

NombreC

DescC

Creditos

Costo

Depto

0.00

Ciencias

C01

Construccin de torres

Para IC y
Arquitectura

C02

Tecnologa del concreto y de las


Estructuras

Para IC

10

100.00

Ciencias

S04

Circuitos digitales

Para ISC

10

0.00

Sistemas

VISUALIZACIN DE COLUMNAS ESPECIFICADAS.


En los ejemplos anteriores obtenamos toda la tabla completa, ahora
veremos como mostrar solo algunos atributos especficos de una tabla.

Obtener los valores NumC,NombreC y Depto, en este orden de


toda la tabla curso.

SELECT NumC, NombreC, Depto


FROM CURSO;
Resultado de la consulta:

NumC

NombreC

A01

Liderazgo

S01

Introduccin a la inteligencia artificial

C01

Construccin de torres

B01

Situacin actual y perspectivas de la alimentacin y


la nutricin

E01

Historia presente y futuro de la energa solar

S02

Tecnologa OLAP

C02

Tecnologa del concreto y de las Estructuras

B02

Metabolismo de lpidos en el camarn

E02

Los sistemas elctricos de potencia

S03

Estructura de datos

Depto
Admn.

Sistemas.

Ciencias
Bioqumica

Electromecnica.
Sistemas
Ciencias

Bioqumica
Electromecnica

Sistemas

Diseo bioclimtico
Arquitectura

A01

C03

Matemticas discretas

Ciencias

S04

Circuitos digitales

Sistemas

S05

Arquitectura de Computadoras

Sistemas

I01

Base de Datos Relacionales

Informtica

Observamos que en este caso no se tiene la sentencia Where, no


existe condicin, por lo tanto, todas las filas de la tabla CURSO se
recuperan, pero solo se visualizaran las tres columnas especificadas.
As mismo, empleamos la (,) para separar los campos que deseamos
visualizar.

VISUALIZACIN DE UN SUBCONJUNTO DE FILAS Y COLUMNAS

Seleccionar los valores NumC, Depto y Costo para todos los


cursos que tengan un Costo inferior a $100

SELECT NumC, Depto, Costo


FROM CURSO
WHERE Costo < 100.00
Como resultado de esta consulta se obtendrn todas aquellas tuplas
que tengan un costo en CTARIFA menor que 100, y se visualizaran solo
los campos de NumC, Depto,Costo.
Podemos observar que este ejemplo cubre el formato general de una
consulta SQL.
La palabra clave DISTINCT
DISTINCT, es una palabra reservada que elimina las filas que
duplicadas en el resultado de una consulta.

Visualizar todos los departamentos acadmicos que ofrezcan


cursos, rechazando los valores duplicados.

SELECT DISTINCT Depto


FROM CURSO;
Resultado de la consulta

Depto
Administracin
Sistemas
Ciencias

Bioqumica
electromecnica
Arquitectura
Informtica
La palabra DISTINCT va estrictamente despus de la palabra SELECT.
De no haberse utilizado la palabra DISTINCT, el resultado hubiera
mostrado todas las tuplas del atributo Depto que se encontraran, es
decir, se hubiera visualizado la columna de Depto completamente.
EMPLEO DE LOS CONECTORES BOOLEANOS (AND, OR, NOT)
Para emplear las condiciones mltiples dentro de la sentencia
WHERE, utilizamos los conectores lgicos.
El conector AND.
Este conector pide al sistema que seleccione una sola columna
nicamente si ambas condiciones se cumplen.

Obtener toda la informacin sobre todos los cursos que ofrece el


departamento Sistemas que tengan una tarifa igual a 0.

SELECT *
FROM CURSO
WHERE Depto=Sistemas AND Costo=0.00;
El resultado de esta consulta sera todas aquellas tuplas que
cumplan exactamente con las dos condiciones establecidas.
El conector OR.
Este conector al igual que el AND permite conectar condiciones
mltiples en la sentencia WHERE, a diferencia del conector AND, el OR
permite la seleccin de filas que cumplan con una sola de las
condiciones establecidas a travs de este conector.

Obtener toda la informacin existente sobre cualquier curso


ofrecido por los departamentos Arquitectura o Bioqumica.

SELECT *
FROM CURSO
WHERE Depto = Arquitectura OR Depto= Bioqumica;
El resultado de esta consulta ser la de visualizar todas aquellas
tuplas donde se cumpla cualquiera de las 2 condiciones, es decir
mostrara todas las tuplas que tengan en el atributo Depto=Arquitectura
o Bioqumica.
El conector NOT
Este nos permite marcar aquellas tuplas que por alguna razn no
deseamos visualizar.

Obtener el nombre del curso y del departamento de todos los


cursos que no sean ofrecidos por el departamento Sistemas.

SELECT NombreC, Depto


FROM CURSO
WHERE NOT (Depto=Sistemas);
JERARQUIA DE OPERADORES BOOLEANOS.
En orden descendente (de mayor a menor prioridad)
NOT
AND
OR
Existen dos formas para realizar consultas: Join de Querys y
Subquerys.
Cuando en la sentencia From colocamos los nombres de las tablas
separados por comas se dice que efectuamos una consulta de la forma
Join de Querys, en este caso se requiere anteponer el nombre de la
tabla y un punto al nombre del atributo. En el Join de Querys el
resultado que se produce con las tablas que intervienen en la consulta
es la concatenacin de las tablas, en donde los valores de una columna
de la primera tabla coinciden con los valores de una segunda tabla, la
tabla de resultado tiene una fila por cada valor coincidente que resulte
de las dos tablas originales.

Para ejemplificar esto, consideremos 2 tablas: Tabla1 y Tabla2,


entonces:

C1

C2

C3

CA

CB

AAA

10

35

BBB

45

10

CCC

55

65

DDD

20

20

EEE

20

90

FFF

90

90

GGG

15

75

HHH

90

90

35

Resultado de la operacin Join:

C1

C2

C3

CA

CB

AAA

10

10

DDD

20

20

EEE

20

20

FFF

90

90

FFF

90

90

FFF

90

90

HHH

90

90

HHH

90

90

HHH

90

90

Como podemos observar, la comparacin se efectu por las columnas


C3 y CA, que son donde se encontraron valores iguales, el resultado
muestra una tupla por cada coincidencia encontrada.
Cuando las consultas se anidan se conoce como Subquerys o
subconsultas. Este tipo de consulta obtiene resultados parciales
reduciendo el espacio requerido para realizar una consulta.

Nota: Todas las consultas que se resuelven con subquerys pueden


resolverse con Join de Querys, pero no todas las consultas hechas con
Join de Querys pueden resolverse utilizando Subquerys.
Para ejemplificar lo anterior consideremos el ejemplo
ALUMNO cursa
atributos:
NControl
NControl
NombreA
Clave
Especialidad Calif
Direccin

- MATERIA, que tienen los siguientes


Clave
NombreM
Creditos

Representando en tablas a los atributos quedaran de la siguiente


forma:
Tabla alumno:
NControl NombreA Especialidad Direccin

Tabla cursa:
NControl Clave Calif

Tabla materia:
Clave NombreM Creditos

Obtener el nombre de la materia que cursa el alumno con nmero


de control 97310211 con crditos igual a ocho.
SELECT NombreA
FROM Materia
WHERE creditos=8 and clave in(SELECT clave
FROM cursa
WHERE NControl=97310211;

Obtener el nmero de control del alumno que tenga alguna


calificacin igual a 100

SELECT DISTINC(NControl)
FROM Cursa
WHERE Calif=100;

Obtener el nombre de las materias que cursa el alumno Salvador


Chvez.
SELECT NombreM
FROM Materia
WHERE Clave in (SELECT DISTINC (Clave)
FROM Cursa
WHERE NControl in (SELECT NControl)
FROM Alumno
WHERE
NombreA=Salvador
Chvez));

FUNCIONES AVANZADAS APLICABLES A CONSULTAS


Existen funciones que permiten la agilizacin de consultas similares
a una hoja de clculo, ya que trabajan en base a renglones y columnas.
COUNT ( ): Cuenta el nmero de tuplas en la columna establecida
MIN ( ): Localiza el valor mnimo de la columna establecida
MAX ( ): Localiza el valor mximo de la columna establecida.

AVG ( ): Obtiene el promedio de valores de la columna establecida


SUM ( ): Obtiene el valor total que implican los valores obtenidos en la
columna establecida.
Ejemplos:

Obtener el nmero de alumnos que existen en la carrera de


Ingeniera en Sistemas Computacionales.

SELECT Count (*)


FROM Alumno
WHERE especialidad=ISC;

Obtener la mximo calificacin que ha obtenido J.M. Cadena.

SELECT Max(Calif)
FROM Cursa
WHERE NControl IN (SELECT NControl
FROM Alumno
WHERE NombreA= J.M. Cadena );

Obtener el promedio de calificaciones de Salvador Chvez.

SELECT Avg (Calif)


FROM Cursa
WHERE NCotrol IN (SELECT NControl
FROM Alumno
WHERE NombreA=Salvador Chvez);

Obtener la suma total de las calificaciones obtenidas por Daniel


Coln.

SELECT Sum (Calif)


FROM Cursa
WHERE NControl IN (SELECT NControl
FROM Alumno
WHERE NombreA=Daniel Coln);
Hasta aqu hemos visto el manejo sencillo de realizar consultas con
SQL, hay que destacar que en la realizacin de consultas anidadas se
tiene que poner cuidando a la prioridad de los operadores, teniendo
cuidado tambin al momento de agrupar los parntesis que involucran
las condiciones con los operadores.

Modificacin de la Base de datos


Como se mencion al inicio de este apartado del SQL, est cuenta
con mdulos DDL, para la definicin de datos que nos permite crear o
modificar la estructura de las tablas.
Las instrucciones para realizar estas operaciones son:
Nos permite crear una tabla de datos vaca.
INSERT: Permite almacenar registros en una tabla creada.
UPDATE: Permite modificar datos de registros almacenados en la tabla.
DELETE: Borra un registro entero o grupo de registros de una tabla.
CREATE INDEX: Crea un ndice que nos puede auxiliar para las
consultas.
DROP TABLE: Permite borrar una tabla.
DROP INDEX: Borra el ndice indicado.
CREATE TABLE:

Para ejemplificar las instrucciones anteriores consideremos el


ejemplo
ALUMNO cursa
- MATERIA, que tienen los siguientes
atributos:
NControl
NControl
Clave
NombreA
Clave
NombreM
Especialidad Calif
Creditos
Direccin
* Estructura de la sentencia CREATE TABLE.
CREATE TABLE <Nombre de la tabla>
(
Atributo1: tipo de dato longitud ,
Atributo2: tipo de dato longitud ,
Atributo3: tipo de dato longitud ,
:
:
Atributon: tipo de dato longitud ,

PRIMARY KEY

(Opcional) ) ;

Los campos pueden definirse como NOT NULL de manera opcional


excepto en la llave primaria para lo cual es obligatorio. Adems al
definir la llave primaria se genera automticamente un ndice con
respecto al campo llave; para definir la llave la denotamos dentro de los
parntesis de PRIMARY KEY.

Ejemplo:
Crear la tabla alumno con los atributos antes descritos, tomando
como llave el numero de control.
CREATE TABLE Alumno
(
NControl char(8) NOT NULL,
NombreA char(20),
Especialidad char(3),
Direccin char(30),
PRIMARY KEY (NControl) );
Tabla Alumno:
NControl NombreA Especialidad Direccin

Pueden existir ms de una llave primaria, esto es si se requiere, se


crearn tantos ndices como llaves primarias se establezcan.
Pueden existir tantos campos Not Null (No nulos) como se requieran;
En si estructurar la creacin de una tabla es siempre parecida al
ejemplo anterior.
* Estructura de la sentencia INSERT
INSERT
INTO Nombre de la tabla a la que se le va a insertar el registro
VALUES (Conjunto de valores del registro ) ;
Ejemplo:
Insertar en la tabla Alumno, antes creada los datos del alumno
Daniel coln, con numero de control 95310518 de la especialidad de
Ingeniera civil, con domicilio Abasolo Norte #45.
INSERT
INTO Alumno
VALUES("95310518","Daniel Coln","IC","Abasolo Norte #45") ;
Ntese que la insercin de los datos se realiza conforme la estructura
que se implanto en la tabla, es decir en el orden en que se creo dicha
tabla. En caso de querer omitir un dato que no sean no nulos solamente
se ponen las comillas indicando el vaco de la cadena.

* Estructura de la Sentencia CREATE INDEX


CREATE INDEX Nombre que se le asignara al ndice.
ON Nombre de la taba a la cual se le creara el ndice (Campo(s) por el
cual se creara el ndice);
Ejemplo:
Crear un ndice de la tabla Alumno por el campo Especialidad.
CREATE INDEX Indice1
ON Alumno(Especialidad);
Este ndice contendr a todos los alumnos ordenados por el campo
especialidad.
CREATE INDEX UNIQUE INDEX Indice2
ON Alumno (Especialidad);
En la creacin de este ndice utilizamos la sentencia UNIQUE, es un
indicador para permitir que se cree un ndice nico por especialidad,
esta sentencia siempre se coloca antes de CREATE INDEX. En este
ejemplo se creara un ndice que contenga un alumno por especialidad
existente.
* Estructura de la sentencia UPDATE
UPDATE Nombre de la tabla en donde se modificaran los datos.
SET Valores
WHERE (Condicin);
Ejemplo:
Modificar el nmero de control del registro de Daniel Coln de la Tabla
alumno por el nmero 96310518.
UPDATE Alumno
SET NControl 96310518
WHERE NombreA=Daniel Coln;
* Estructura de la sentencia DROP TABLE
DROP TABLE Nombre de la tabla a borrar ;
Ejemplo:

Borrar la tabla Alumno creada anteriormente.


DROP TABLE Alumno;
* Estructura de la sentencia DROP INDEX
DROP INDEX Nombre del ndice a borrar;
Ejemplo:
Borrar el ndice Indice1 creado anteriormente.
DROP INDEX Indice1;
* Estructura de la sentencia DELETE
DELETE
FROM Nombre de la tabla
WHERE Condicin;
Ejemplos:
- Borrar el registro cuyo nmero de control es 95310386.
DELETE
FROM Alumno
WHERE Control=95310386;
- Borrar todos los registros de la tabla alumno.
DELETE
FROM Alumno;
En el primer ejemplo, se borrara todo el registro(todos los datos), del
alumno con nmero de control = 95310386.
En el segundo ejemplo se borraran todos los registros de la tabla
alumno, pero sin borrar la estructura de la tabla, ya que la orden Delete
solo borra registros, la sentencia Drop Table es la que borra toda la
estructura de la tabla junto con los registros de la misma.

Vistas.
Una vista se define en SQL usando la orden CRETE VIEW. Para
definir una vista debemos dar a la vista un nombre y declarar la

consulta que calcula la vista. Una vez que establecemos una vista,
podemos ejecutar una sentencia SELECT que referencie a esa vista. El
sistema asociar la vista SQL con una tabla base y extraer y
visualizar, entonces, los datos de la tabla base.
Esto significa que una vista no contiene datos duplicados de una
tabla base. No tiene absolutamente ningn dato, puesto que no es una
tabla real, todo el proceso se realiza con los datos almacenados en la
tabla base. Es decir se percibe como una tabla virtual.
Las ordenes que se utilizan para la manipulacin de vistas son:
CREATE VIEW: Crea una tabla virtual.
DROP VIEW: Elimina una vista creada anteriormente.
Estructura de la sentencia CREATE VIEW.
CREATE VIEW Nombre de la vista AS (Expresin de consulta);
Para nuestros ejemplos consideremos de nuevo la tabla llamada
CURSO, que contiene los siguientes campos:

Nombre del campo


NumC
NombreC
DescC
Creditos

Descripcin
Nmero del curso, nico para identificar cada curso
Nombre del curso, tambin es nico
Descripcin del curso
Crditos, nmero de estos que gana al estudiante al cursarlo

Costo

Costo del curso.

Depto

Departamento acadmico que ofrece el curso.

Que contiene los siguientes datos:

NumC

NombreC

DescC

Creditos

Costo

Depto

A01

Liderazgo

Para pblico
General

10

100.00

Admn.

S01

Introduccin a la inteligencia artificial

Para ISC y LI

10

90.00

Sistemas.

C01

Construccin de torres

Para IC y
Arquitectura

0.00

Ciencias

B01

Situacin actual y perspectivas de la


alimentacin y la nutricin

Para IB

80.00

Bioqumica

Historia presente y futuro de la energa


solar

IE e II

10

100.00

Electromecnica.

S02

Tecnologa OLAP

Para ISC y LI

100.00

Sistemas

C02

Tecnologa del concreto y de las


Estructuras

Para IC

10

100.00

Ciencias

B02

Metabolismo de lpidos en el camarn

Para IB

10

0.00

Bioqumica

E02

Los sistemas elctricos de potencia

Para IE

10

100.00

Electromecnica

S03

Estructura de datos

Para ISC y LI

0.00

Sistemas

Diseo bioclimtico

Para
Arquitectura

10

0.00

E01

A01

Arquitectura

C03

Matemticas discretas

General

0.00

Ciencias

S04

Circuitos digitales

Para ISC

10

0.00

Sistemas

S05

Arquitectura de Computadoras

Para ISC

10

50.00

Sistemas

I01

Base de Datos Relacionales

Para ISC y LI

10

150.00

Informtica

Ejemplos:
* Crear una vista (tabla virtual), denominada CursosS, que contenga
las filas solo correspondientes a cursos ofrecidos por el departamento
Sistemas. La vista deber contener todas las columnas de la tabla

CURSO, con la excepcin de la columna Depto, la secuencia, de


izquierda a derecha de las columnas, deber ser: NombreC, NumC,
Creditos, Costo Y DescC.
CREATE VIEW CursosS AS
SELECT NombreC,NumC,Creditos,Costo,DescC
FROM CURSO
WHERE DescC=Sistemas;
Observemos que despus del nombre de la vista ponemos la
sentencia AS, esto para definir la estructura de la vista, la estructura en
si de la vista esta formada por la consulta anteriormente vista
utilizando la orden SELECT.
* Crear una vista denominada CursosCaros, correspondientes a las
filas de la tabla CURSO, en donde la tarifa exceda de $150, las
columnas de la vista debern tener los nombres ClaveCurso,
NombreCurso y CostoCaro.
CREATE VIEW CursosSCaros(ClaveCurso,NombreCurso,CostoCaro) As
SELECT NumC,NombreC, Costo
FROM Curso
WHERE Costo > 150;
Observamos que despus del nombre de la vista CursosCaros
ponemos los nombres que se nos pidieron tuvieran los campos de la
vista(ClaveCurso,...), despus se realiza la consulta correspondiente
para generar el resultado deseado.

Visualizar las vistas


Creamos una tabla virtual que contiene los datos de las consultas
que deseamos, ahora nos falta visualizar estos datos, para ello
utilizamos la sentencia SELECT y realizamos la consulta:
SELECT *
FROM CursosCaros;
De esta consulta podemos observar que mostramos todos los campos
que la vista contiene, aunque podemos visualizar solo alguno de ellos,
tambin observamos que sustituimos el nombre de la vista por el de la
tabla junto a la sentencia FROM, esto es por que una vista es una tabla
virtual, pero guarda los datos como cualquier tabla normal.

Eliminar una vista


Como si fuera una tabla normal, las vistas tambin pueden borrarse,
para ello utilizamos la sentencia DROP VIEW.
Estructura de la sentencia DROP VIEW.
DROP VIEW Nombre de la vista a borrar;
Ejemplo: Borrar la vista CursosCaros creada anteriormente.
DROP VIEW CursosCaros;

1. Las entidades en el modelo E-R representan a:

Los elementos principales que intervienen en el problema a modelar.

Las caractersticas que identifican a los elementos que intervienen en el


problema.

El enlace entre los elementos que intervienen en el modelo.

2. Los lmitantes de mapeo nos definen:

El tipo de relacin o cardinalidad que se presenta en el modelo E-R.

Las restricciones de los valores que pueden tomar las entidades.

Define el dominio de los atributos.

3. Una llave primaria es:

El atributo de una entidad que se considera como principal y que identifica a


dicha entidad entre otras.

Cualquier atributo de una entidad.

Es el atributo de la relacin.

4. La transformacin de un diagrama E-R a tablas es


un proceso sencillo que involucra:


Generar tantas tablas como relaciones se tengan en el diagrama considerando
sus atributos como las columnas de las mismas.

Generar una tabla por cada entidad y relacin que exista en el diagrama
tomando los atributos de cada uno de ellos como columnas de las diferentes tablas.

Crear una tabla por cada entidad tomando su campo llave para generar un indice
para accesar a los datos.

También podría gustarte