base-de-datos-1 (1)

24
República Bolivariana de Venezuela Ministerio del poder popular para la Educación Unidad Nacional Experimental “Simón Rodríguez” Maturín-Edo-Monagas Base de Datos Facilitador: Participantes: Montaño Roxana sección “D” Villarroel Karla C.I: 259.433.08 Andreina Ayala

Upload: sddv-diaz

Post on 10-Jul-2016

212 views

Category:

Documents


0 download

DESCRIPTION

base de datos. importancia y tipos

TRANSCRIPT

Page 1: BASE-DE-DATOS-1 (1)

República Bolivariana de Venezuela

Ministerio del poder popular para la Educación

Unidad Nacional Experimental “Simón Rodríguez”

Maturín-Edo-Monagas

Base de Datos

Facilitador: Participantes:

Montaño Roxana sección “D” Villarroel Karla C.I: 259.433.08

Andreina Ayala

Page 2: BASE-DE-DATOS-1 (1)

BASE DE DATOS

Se puede decir que una base de datos es un conjunto de información

relacionada que se encuentra agrupada o estructurada. Desde el punto de vista

informático, una base de datos es un sistema formado por un conjunto de datos

almacenados en discos que permiten el acceso directo a ellos y un conjunto de

programas que manipulen ese conjunto de datos. Actualmente, las bases de datos

están teniendo un impacto decisivo sobre el creciente uso de las computadoras.

Pero para poder entender más profundamente una base de datos cabe entender

su historia.

Orígenes

Los orígenes de las bases de datos se remontan a la Antigüedad donde ya

existían bibliotecas y toda clase de registros. Además también se utilizaban para

recoger información sobre las cosechas y censos. Sin embargo, su búsqueda era

lenta y poco eficaz y no se contaba con la ayuda de máquinas que pudiesen

reemplazar el trabajo manual. Posteriormente, el uso de las bases de datos se

desarrolló a partir de las necesidades de almacenar grandes cantidades de

información o datos. Sobre todo, desde la aparición de las primeras

computadoras, el concepto de bases de datos ha estado siempre ligado a la

informática.

En 1884 Herman Hollerith creó la máquina automática de tarjetas

perforadas, siendo nombrado así el primer ingeniero estadístico de la historia. En

esta época, los censos se realizaban de forma manual. Ante esta situación,

Hollerith comenzó a trabajar en el diseño de una maquina tabuladora o censadora,

Page 3: BASE-DE-DATOS-1 (1)

basada en tarjetas perforadas. Posteriormente, en la década de los cincuenta se

da origen a las cintas magnéticas, para automatizar la información y hacer

respaldos. Esto sirvió para suplir las necesidades de información de las nuevas

industrias. Y a través de este mecanismo se empezaron a automatizar

información, con la desventaja de que solo se podía hacer de forma secuencial.

Década de 1960

Posteriormente en la época de los sesenta, las computadoras bajaron los

precios para que las compañías privadas las pudiesen adquirir; dando paso a que

se popularizara el uso de los discos, cosa que fue un adelanto muy efectivo en la

época, debido a que a partir de este soporte se podía consultar la información

directamente, sin tener que saber la ubicación exacta de los datos. En esta misma

época se dio inicio a las primeras generaciones de bases de datos de red y las

bases de datos jerárquicas, ya que era posible guardar estructuras de datos en

listas y arboles.

Otro de los principales logros de los años sesenta fue la alianza de IBM y

American Airlines para desarrollar SABRE, un sistema operativo que manejaba las

reservas de vuelos, transacciones e informaciones sobre los pasajeros de la

compañía American Airlines.

Década de 1970

Por lo que respecta a la década de los setenta, Edgar Frank Codd, científico

informático ingles conocido por sus aportaciones a la teoría de bases de datos

relacionales, definió el modelo relacional a la par que publicó una serie de reglas

para los sistemas de datos relacionales a través de su artículo “Un modelo

relacional de datos para grandes bancos de datos compartidos”. Este hecho dio

paso al nacimiento de la segunda generación de los Sistemas Gestores de Bases

de Datos.

Page 4: BASE-DE-DATOS-1 (1)

Como consecuencia de esto, durante la década de 1970, Lawrence J.

Ellison, más conocido como Larry Ellison, a partir del trabajo de Edgar F. Codd

sobre los sistemas de bases de datos relacionales, desarrolló el Relational

Software System, o lo que es lo mismo, lo que actualmente se conoce como

Oracle Corporation, desarrollando así un sistema de gestión de bases de datos

relacional con el mismo nombre que dicha compañía.

Posteriormente en la época de los ochenta también se desarrollará el SQL (Structured Query Language) o lo que es lo mismo un lenguaje de consultas o

lenguaje declarativo de acceso a bases de datos relacionales que permite efectuar

consultas con el fin de recuperar información de interés de una base de datos y

hacer cambios sobre la base de datos de forma sencilla; además de analiza

grandes cantidades de información y permitir especificar diversos tipos de

operaciones frente a la misma información, a diferencia de las bases de datos de

los años ochenta que se diseñaron para aplicaciones de procesamiento de

transacciones.

Pero cabe destacar que ORACLE es considerado como uno de los

sistemas de bases de datos más completos que existen en el mundo, y aunque su

dominio en el mercado de servidores empresariales ha sido casi total hasta hace

relativamente poco, actualmente sufre la competencia del SQL Server de la

compañía Microsoft y de la oferta de otros Sistemas Administradores de Bases de

Datos Relacionales con licencia libre como es el caso de PostgreSQL, MySQL o

Firebird que aparecerían posteriormente en la década de 1990.

Década de 1980

Por su parte, a principios de los años ochenta comenzó el auge de la

comercialización de los sistemas relacionales, y SQL comenzó a ser el estándar

de la industria, ya que las bases de datos relacionales con su sistema de tablas

Page 5: BASE-DE-DATOS-1 (1)

(compuesta por filas y columnas) pudieron competir con las bases jerárquicas y de

red, como consecuencia de que su nivel de programación era sencillo y su nivel de

programación era relativamente bajo.

Década años 1990

En la década de 1990 la investigación en bases de datos giró en torno a las

bases de datos orientadas a objetos. Las cuales han tenido bastante éxito a la

hora de gestionar datos complejos en los campos donde las bases de datos

relacionales no han podido desarrollarse de forma eficiente. Así se desarrollaron

herramientas como Excel y Access del paquete de Microsoft Office que marcan el

inicio de las bases de datos orientadas a objetos. Así se creó la tercera generación

de sistemas gestores de bases de datos.

Fue también en esta época cuando se empezó a modificar la primera

publicación hecha por ANSI del lenguaje SQL y se empezó a agregar nuevas

expresiones regulares, consultas recursivas, triggers y algunas características

orientadas a objetos, que posteriormente en el siglo XXI volverá a sufrir

modificaciones introduciendo características de XML, cambios en sus funciones,

estandarización del objeto sequence y de las columnas autonuméricas. Y además,

se creará la posibilidad de que SQL se pueda utilizar conjuntamente con XML, y

se definirá las maneras de cómo importar y guardar datos XML en una base de

datos SQL. Dando asi, la posibilidad de proporcionar facilidades que permiten a

las aplicaciones integrar el uso de XQuery (lenguaje de consulta XML) para

acceso concurrente a datos ordinarios SQL y documentos XML. Y posteriormente,

se dará la posibilidad de usar la clausula order by.

Aunque el boom de la década de los noventa será es el nacimiento del World

Wide Web a finales de la década, ya que a través de este se facilitará la consulta a

bases de datos.

Page 6: BASE-DE-DATOS-1 (1)

SIGLO XXI

En la actualidad, las tres grandes compañías que dominan el mercado de

las bases de datos son IBM, Microsoft y Oracle. Por su parte, en el campo de

internet, la compañía que genera gran cantidad de información es Google. Aunque

existe una gran variedad de software que  permiten crear y manejar bases de

datos con gran facilidad, como por ejemplo LINQ, que es un proyecto de Microsoft

que agrega consultas nativas semejantes a las de SQL a los lenguajes de la

plataforma .NET. El objetivo de este proyecto es permitir que todo el código hecho

en Visual Studio sean también orientados a objetos; ya que antes de LINQ la

manipulación de datos externos tenía un concepto más estructurado que orientado

a objetos; y es por eso que trata de facilitar y estandarizar el acceso a dichos

objetos.

Cabe destacar que Visual Studio es un entorno de desarrollo integrado para

sistemas operativos Windows que soporta varios lenguajes de programación tales

como Visual C++, Visual#, Visual J#, ASP.NET y Visual Basic.NET, aunque se

están desarrollando las extensiones necesarias para otros, cuyo objetivo es

permitir crear aplicaciones, sitios y aplicaciones web, así como servicios web a

cualquier entorno que soporte la plataforma .Net, creando así aplicaciones que

intercomuniquen entre estaciones de trabajo, páginas web y dispositivos móviles.

1. El Modelo Entidad-Relación

Se elabora el diagrama (o diagramas) entidad-relación.

Se completa el modelo con listas de atributos y una descripción de otras

restricciones que no se pueden reflejar en el diagrama.

El modelado de datos no acaba con el uso de esta técnica. Son necesarias otras

técnicas para lograr un modelo directamente implementable en una base de datos.

Brevemente:

Page 7: BASE-DE-DATOS-1 (1)

Permite mostrar resultados entre otras entidades pertenecientes a las existentes

de manera que se encuentre la normatividad de archivos que se almacenarán

Transformación de relaciones múltiples en binarias.

Normalización de una base de datos de relaciones (algunas relaciones pueden

transformarse en atributos y viceversa).

Conversión en tablas (en caso de utilizar una base de datos relacional).

2. Base teórica y conceptual

Entidad

Una entidad es un objeto que existe y se distingue de otros objetos de

acuerdo a sus características llamadas Atributos. Las Entidades pueden ser

concretas como una persona o abstractas como una fecha.

Representa una “cosa” u "objeto" del mundo real con existencia independiente, es

decir, se diferencia unívocamente de cualquier otro objeto o cosa, incluso siendo

del mismo tipo, o una misma entidad.

Algunos Ejemplos:

Una persona. (Se diferencia de cualquier otra persona, incluso siendo gemelos).

Un automóvil. (Aunque sean de la misma marca, el mismo modelo, tendrán

atributos diferentes, por ejemplo, el número de bastidor).

Una casa (Aunque sea exactamente igual a otra, aún se diferenciará en su

dirección).

Una entidad puede ser un objeto con existencia física como: una persona, un

animal, una casa, etc. (entidad concreta), o un objeto con existencia conceptual

como: un puesto de trabajo, una asignatura de clases, un nombre,etc. (entidad

abstracta).

Page 8: BASE-DE-DATOS-1 (1)

Una entidad está descrita y se representa por sus características o atributos. Por

ejemplo, la entidad Persona puede llevar consigo las características: Nombre,

Apellido, Género, Estatura, Peso, Fecha de nacimiento, etc...

Atributos

Los atributos son las propiedades que describen a cada entidad en un

conjunto de entidades. Un conjunto de entidades dentro de una entidad, tiene

valores específicos asignados para cada uno de sus atributos, de esta forma, es

posible su identificación unívoca.

Ejemplos:

A la colección de entidades Alumnos, con el siguiente conjunto de atributos en

común, (id, nombre, edad, semestre), pertenecen las entidades:

(1, Sofia, 18 años, 2)

(2, Josefa, 19 años, 5)

(3, Gabriela, 20 años, 2)

Cada una de las entidades pertenecientes a este conjunto se diferencia de

las demás por el valor de sus atributos. Nótese que dos o más entidades

diferentes pueden tener los mismos valores para algunos de sus atributos, pero

nunca para todos.

En particular, los atributos identificativos son aquellos que permiten

diferenciar a una instancia de la entidad de otra distinta. Por ejemplo, el atributo

identificativo que distingue a un alumno de otro es su número de id.

Para cada atributo, existe un dominio del mismo, este hace referencia al tipo de

datos que será almacenado o a restricciones en los valores que el atributo puede

tomar (Cadenas de caracteres, números, solo dos letras, solo números mayores

que cero, solo números enteros.). Cuando una entidad no tiene un valor para un

atributo dado, este toma el valor nulo, bien sea que no se conoce, que no existe o

que no se sabe nada al respecto del mismo.

Page 9: BASE-DE-DATOS-1 (1)

Relación

Una relación es una asociación o relación matemática entre varias

Entidades. Las relaciones también se nombran. Se representan en el Diagrama,

Entidad, Relación, representado también por E-R mediante flechas y rombos.

Cada entidad interviene en una relación con una determinada cardinalidad.

La cardinalidad (número de instancias o elementos de una entidad que

pueden asociarse a un elemento de la otra entidad relacionada) se representa

mediante una pareja de datos, en minúsculas, de la forma (cardinalidad mínima,

cardinalidad máxima), asociada a cada uno de las entidades que intervienen en la

relación. Son posibles las siguientes cardinalidades: (0,1), (1,1), (0,n), (1,n), (m,n).

También se informa de las cardinalidades máximas con las que intervienen las

entidades en la relación.

Los Diagramas E-R son lenguajes gráficos para describir conceptos.

Informalmente, son simples Dibujos o Gráficos que describen la información que

trata un sistema de información y el Software que lo automatiza. El tipo de relación

se define tomando los máximos de las cardinalidades que intervienen en la

relación.

Conjunto de relaciones

Consiste en una colección, o conjunto, de relaciones de la misma naturaleza.

Ejemplo:

Dados los conjuntos de entidades "Habitación" y "Huésped", todas las

relaciones de la forma habitación-huésped, permiten obtener la información de los

huéspedes y sus respectivas habitaciones.

La dependencia o asociación entre los conjuntos de entidades es

llamada participación. En el ejemplo anterior los conjuntos de entidades

"Habitación" y "Huésped" participan en el conjunto de relaciones habitación-

huésped.

Page 10: BASE-DE-DATOS-1 (1)

Se llama grado del conjunto de relaciones a la cantidad de conjuntos de entidades

participantes en la relación.

3. Restricciones

Son reglas que deben mantener los datos almacenados en la base de datos.

Correspondencia de cardinalidades

Dado un conjunto de relaciones en el que participan dos o más conjuntos de

entidades, la correspondencia de cardinalidad indica el número de entidades con

las que puede estar relacionada una entidad dada.

Dado un conjunto de relaciones binarias y los conjuntos de entidades A y B, la

correspondencia de cardinalidades puede ser:

Uno a Uno: (1:1) Un registro de una entidad A se relaciona con solo un

registro en una entidad B. (ejemplo dos entidades, profesor y departamento,

con llaves primarias, codigo_profesor y jefe_depto respectivamente, un

profesor solo puede ser jefe de un departamento y un departamento solo

puede tener un jefe).

Uno a varios: (1:N) Un registro en una entidad en A se relaciona con cero o

muchos registros en una entidad B. Pero los registros de B solamente se

relacionan con un registro en A. (ejemplo: dos entidades, vendedor y ventas,

con llaves primarias, codigo_vendedor y venta, respectivamente, un vendedor

puede tener muchas ventas pero una venta solo puede tener un vendedor).

Varios a Uno: (N:1) Una entidad en A se relaciona exclusivamente con una

entidad en B. Pero una entidad en B se puede relacionar con 0 o muchas

entidades en A (ejemplo empleado-centro de trabajo).

Varios a Varios: (N:M) Una entidad en A se puede relacionar con 0 o con

muchas entidades en B y viceversa (ejemplo asociaciones-ciudadanos, donde

Page 11: BASE-DE-DATOS-1 (1)

muchos ciudadanos pueden pertenecer a una misma asociación, y cada

ciudadano puede pertenecer a muchas asociaciones distintas).

Restricciones de participación

Dado un conjunto de relaciones R en el cual participa un conjunto de entidades A,

dicha participación puede ser de dos tipos:

Total: Cuando cada entidad en A participa en al menos una relación de R.

Parcial: Cuando al menos una entidad en A NO participa en alguna relación

de R.

4. Claves

Es un subconjunto del conjunto de atributos comunes en una colección de

entidades, que permite identificar inequívocamente cada una de las entidades

pertenecientes a dicha colección. Asimismo, permiten distinguir entre sí las

relaciones de un conjunto de relaciones.

Dentro de los conjuntos de entidades existen los siguientes tipos de claves:

Superclave: Es un subconjunto de atributos que permite distinguir

unívocamente cada una de las entidades de un conjunto de entidades. Si se

añade un atributo al anterior subconjunto, el resultado seguirá siendo una

superclave.

Clave candidata: Dada una superclave, si ésta deja de serlo quitando

únicamente uno de los atributos que la componen, entonces ésta es una clave

candidata.

Clave primaria: Es una clave candidata, elegida por el diseñador de la base

de datos, para identificar unívocamente las entidades en un conjunto de

entidades.

Page 12: BASE-DE-DATOS-1 (1)

Los valores de los atributos de una clave, no pueden ser todos iguales para dos o

más instancias.

Para poder distinguir unívocamente las relaciones en un conjunto de relaciones R,

se deben considerar dos casos:

R NO tiene atributos asociados: En este caso, se usa como clave primaria

de R la unión de las claves primarias de todos los conjuntos de entidades

participantes.

R tiene atributos asociados: En este caso, se usa como clave primaria de R

la unión de los atributos asociados y las claves primarias de todos los

conjuntos de entidades participantes.

Si el conjunto de relaciones, R, sobre las que se pretende determinar la clave

primaria está compuesto de relaciones binarias, con los conjuntos de entidades

participantes A y B, se consideran los siguientes casos, según sus cardinalidades:

R es de muchos a uno de A a B entonces sólo se toma la clave primaria de

A, como clave primaria de R.

R es de uno a muchos de A a B entonces se toma sólo la clave primaria de

B, como clave primaria de R.

R es de uno a uno de A a B entonces se toma cualquiera de las dos claves

primarias, como clave primaria de R.

R es de muchos a muchos de A a B entonces se toma la unión de los

atributos que conforman las claves primarias de A y de B, como clave primaria

de R.

5. Diagrama entidad-relación

Anteriormente detallamos los conceptos relacionados al modelo ER, en esta

sección profundizaremos en como representarlos gráficamente. Cabe destacar

que para todo proceso de modelado, siempre hay que tener en claro los

Page 13: BASE-DE-DATOS-1 (1)

conceptos, estos nos brindan conocimiento necesario y además fundamentan

nuestro modelo al momento de presentarlo a terceros.

Formalmente, los diagramas ER son un lenguaje gráfico para describir conceptos.

Informalmente, son simples dibujos o gráficos que describen información que trata

un sistema de información y el software que lo automatiza.

Entidades

Las entidades son el fundamento del modelo entidad relación. Podemos

adoptar como definición de entidad cualquier cosa o parte del mundo que es

distinguible del resto. Por ejemplo, en un sistema bancario, las personas y las

cuentas bancarias se podrían interpretar como entidades. Las entidades pueden

representar entes concretos, como una persona o un avión, o abstractas, como

por ejemplo un préstamo o una reserva. Se representan por medio de un

rectángulo. que pueden ser de tipo: maestras, transaccionales, históricas y

temporales

Atributos

Se representan mediante un círculo o elipse etiquetado mediante un

nombre en su interior. Cuando un atributo es identificativo de la entidad se suele

subrayar dicha etiqueta.

Por motivos de legibilidad, los atributos suelen no aparecer representados en el

diagrama entidad-relación, sino descritos textualmente en otros documentos

adjuntos.

Relacion

Describe cierta dependencia entre entidades o permite la asociación de las

mismas.

Por ejemplo:

Si tenemos dos entidades, CLIENTE y HABITACIÓN, podemos entender la

relación entre ambas al tomar un caso concreto (ocurrencia) de cada una

de ellas. Entonces, podríamos tener la ocurrencia Habitación 502, de la

Page 14: BASE-DE-DATOS-1 (1)

entidad HABITACIÓN y la ocurrencia Henry Johnson McFly Bogard, de la

entidad CLIENTE, entre las que es posible relacionar que la habitación 502

se encuentra ocupada por el huésped de nombre Henry Johnson McFly

Bogard

6. Diagramas extendidos

Los diagramas Entidad-Relación no cumplen su propósito con eficacia

debido a que tienen limitaciones semánticas. Por ese motivo se suelen utilizar

los diagramas Entidad-Relación extendidos que incorporan algunos elementos

más al lenguaje:

Entidades fuertes y débiles

Cuando una entidad participa en una relación puede adquirir un

papel fuerte o débil. Una entidad débil es aquella que no puede existir sin

participar en la relación; es decir, aquella que no puede ser unívocamente

identificada solamente por sus atributos.

Una entidad fuerte (también conocida como entidad regular) es aquella que

sí puede ser identificada unívocamente. En los casos en que se requiera, se

puede dar que una entidad fuerte "preste" algunos de sus atributos a una entidad

débil para que esta última se pueda identificar.

Las entidades débiles se representan mediante un doble rectángulo; es decir, un

rectángulo con doble línea.

Se puede hablar de la existencia de 2 tipos de dependencias en las entidades

débiles:

Dependencia por existencia

Las ocurrencias de la entidad débil pueden identificarse mediante un atributo

identificador clave sin necesidad de identificar la entidad fuerte relacionada.

Page 15: BASE-DE-DATOS-1 (1)

Dependencia por identidad

La entidad débil no puede ser identificada sin la entidad fuerte relacionada.

(Ejemplo: si tenemos una entidad LIBRO y otra relacionada EDICIÓN, para

identificar una edición necesitamos conocer el identificador del libro).

Cardinalidad de las relaciones

Cardinalidad es el número de entidades con la cual otra entidad puede

asociar mediante una relación binaria; la cardinalidad puede ser: Uno a uno, uno a

muchos ó muchos a uno y muchos a muchos. El tipo de cardinalidad se

representa mediante una etiqueta en el exterior de la relación, respectivamente:

"1:1", "1:N" y "N:M", aunque la notación depende del lenguaje utilizado, la que más

se usa actualmente es el unificado. Otra forma de expresar la cardinalidad es

situando un símbolo cerca de la línea que conecta una entidad con una relación:

"0" si cada instancia de la entidad no está obligada a participar en la

relación.

"1" si toda instancia de la entidad está obligada a participar en la

relación y, además, solamente participa una vez.

"N" , "M", ó "*" si cada instancia de la entidad no está obligada a

participar en la relación y puede hacerlo cualquier número de veces.

Ejemplos de relaciones que expresan cardinalidad:

Un policía (entidad) tiene (relación) un arma (entidad) siempre y cuando

no realice funciones de oficina, pudiendo entonces tenerla o no

asignada. Es una relación 0:1.

Cada esposo (entidad) está casado (relación) con una única esposa

(entidad) y viceversa. Es una relación 1:1.

Page 16: BASE-DE-DATOS-1 (1)

Una factura (entidad) se emite (relación) a una persona (entidad) y sólo

una, pero una persona puede tener varias facturas emitidas a su

nombre. Todas las facturas se emiten a nombre de alguien. Es una

relación 1:N.

Un cliente (entidad) puede comprar (relación) varios servicios (entidad)

y un servicio puede ser comprado por varios clientes distintos. Es una

relación N:M.

Atributos en relaciones

Las relaciones también pueden tener atributos asociados. Se representan

igual que los atributos de las entidades. Un ejemplo típico son las relaciones de

tipo "histórico" donde debe constar una fecha o una hora. Por ejemplo,

supongamos que es necesario hacer constar la fecha de emisión de una factura a

un cliente, y que es posible emitir duplicados de la factura (con distinta fecha). En

tal caso, el atributo "Fecha de emisión" de la factura debería colocarse en la

relación "se emite".

Herencia

La herencia es un intento de adaptación de estos diagramas al paradigma

orientado a objetos. La herencia es un tipo de relación entre una entidad "padre" y

una entidad "hijo". La entidad "hijo" hereda todos los atributos y relaciones de la

entidad "padre". Por tanto, no necesitan ser representadas dos veces en el

diagrama. La relación de herencia se representa mediante un triángulo

interconectado por líneas a las entidades. La entidad conectada por el vértice

superior del triángulo es la entidad "padre". Solamente puede existir una entidad

"padre" (herencia simple). Las entidades "hijo" se conectan por la base del

triángulo.

Page 17: BASE-DE-DATOS-1 (1)

Agregación

Ejemplo agregación

Es una abstracción a través de la cual las relaciones se tratan como

entidades de un nivel más alto. Se utiliza para expresar relaciones entre relaciones

o entre entidades y relaciones. Se representa englobando la relación abstraída y

las entidades que participan en ella en un rectángulo. En la figura se muestra un

ejemplo de agregación en el que se representa la situación en la que un profesor,

cuando está impartiendo una clase, puede poner una incidencia ocurrida a lo largo

de ésta (se fue la luz, falta la configuración de un determinado software, etc.).