Академический Документы
Профессиональный Документы
Культура Документы
NÚCLEO DE ANZÓATEGUI
COORDINACIÓN DE POSTGRADO
MAESTRÍA EN INFORMÁTICA GERENCIAL
COHORTE XXI
Bases de Datos
Asignación 1
Facilitador: Autor:
Ing. Aquiles Torrealba Ing. Helyson Perdomo
CI:
V-19316427
Marzo de 2018.
Asignación 1.- Conocimientos básicos.
Metadatos
Información
Dato
Ejemplo: juan, perro, herrera, 17, lindo, todos estos son datos que por sí solos no
tienen un significado relevante, y no pueden ser usados para producir algún tipo de
conocimiento, o generar alguna decisión, sin embargo si estos datos se organizan o
procesan producen lo que se denomina información “juan herrera tiene 17 años y un
perro lindo”. En cuanto a los metadatos, es por ejemplo, 17 pertenece al campo
edad, va en años, su valor es entero.
b) Explique en forma cronológica la evolución se las bases de datos (partiendo del
sistema de archivos)
Sistemas de archivos
Manual
Compuesto por un conjunto de carpetas, cada una con su etiqueta almacenadas
en un archivo. La organización de los datos en las carpetas se llevaba a cabo
dependiendo del uso que se les iba a dar. Idealmente el conjunto de cada carpeta estaba
lógicamente relacionado, por lo que, mientras la cantidad de datos fuera relativamente
pequeña y los gerentes de una organización, por ejemplo, solo presentaran pocos
reportes, el sistema manual funcionaba perfectamente como un depósito de datos, sin
embargo a medida que crecieron las organizaciones y las necesidades de presentar
reportes se volvieron complejos, este sistema se hacía muy engorroso para su manejo,
produciendo, en muchos casos generación de información errónea debido a la pérdida
de tiempo en organización y manejo de datos, por lo que la información presenta
terminaba considerándose información inútil o desechable (lenta y tediosa).
Computarizado
Debido a los problemas de los sistemas de archivos manuales, surgieron
especialistas en procesamientos de datos (DP, por sus siglas en ingles), los cuales
crearon las estructuras de archivos computarizados necesarios, el software para el
manejo de los datos, el diseño de los programas de aplicación para la generación de
reportes basados en los datos archivados.
Los términos básicos empleados por este sistema fueron, datos, campos registró
y archivo. Este tipo de sistema corrigió los problemas presentado en el sistema de
archivo manual, con el uso de las computadoras, se ahorraba tiempo y esfuerzos, y lo
más destacable fue la capacidad para realizar búsqueda de datos complejos, lo cual tuvo
impacto en la toma de decisiones.
Desde el punto de vista gerencial este sistema se encontraba formado por
hardware, software, personas, procedimientos y datos. Sin embargo este tipo de
sistemas presentaban una serie de problemas:
o Redundancia e inconsistencia de datos
o Dificultad en el acceso a los datos
o Aislamiento de datos
o Problemas de integridad.
o Problemas de atomicidad
o Anomalías en el acceso concurrente.
o Problemas de seguridad
Todas estas dificultades, dieron paso al desarrollo de un nuevo sistema,
conocidos como sistemas de bases de datos.
Bases de datos.
El uso de sistemas de bases de datos automatizadas, se desarrolló a partir de la
necesidad de almacenar grandes cantidades de datos, para su posterior consulta,
producidas por las nuevas industrias que creaban gran cantidad de información y debido
a los múltiples problemas que presentaban los sistemas de archivos.
Década de 1950 y principios de la década de 1960.
Se desarrollaron las cintas magnéticas para el almacenamiento de datos. Las tareas de
procesamiento de datos tales como las nóminas fueron automatizadas, con los datos
almacenados en cintas. El procesamiento de datos consistía en leer datos de una o más
cintas y escribir datos en una nueva cinta. Los datos también se podían introducir desde
paquetes de tarjetas perforadas e impresos en impresoras. Las cintas (y los paquetes de
tarjetas perforadas) sólo se podían leer secuencialmente, y los tamaños de datos eran
mucho mayores que la memoria principal; así, los programas de procesamiento de datos
tenían que procesar los datos según un determinado orden, leyendo y mezclando datos
de cintas y paquetes de tarjetas perforadas.
Finales de la década de 1960 y la década de 1970.
El amplio uso de los discos fijos a finales de la década de 1960 cambió en gran
medida el escenario del procesamiento de datos, ya que los discos fijos permitieron el
acceso directo a los datos. La ubicación de los datos en disco no era importante, ya que
a cualquier posición del disco se podía acceder en sólo decenas de milisegundo. Los
datos se liberaron de la tiranía de la secuencialidad. Con los discos pudieron
desarrollarse las bases de datos de red y jerárquicas, que permitieron que las estructuras
de datos tales como listas y árboles pudieran almacenarse en disco. Los programadores
pudieron construir y manipular estas estructuras de datos. Un artículo histórico de Codd
(1970) definió el modelo relacional y formas no procedimentales de consultar los datos
en el modelo relacional, y nacieron las bases de datos relacionales. La simplicidad del
modelo relacional y la posibilidad de ocultar completamente los detalles de
implementación al programador fueron realmente atractivas. Codd obtuvo
posteriormente el prestigioso premio Turing de la ACM (Association of Computing
Machinery, asociación de maquinaria informática) por su trabajo.
Década de 1980.
Aunque académicamente interesante, el modelo relacional no se usó
inicialmente en la práctica debido a sus inconvenientes por el rendimiento; las bases de
datos relacionales no pudieron competir con el rendimiento de las bases de datos de red
y jerárquicas existentes. Esta situación cambió con System R, un proyecto innovador en
IBM Research que desarrolló técnicas para la construcción de un sistema de bases de
datos relacionales eficiente. Los primeros sistemas de bases de datos relacionales, como
DB2 de IBM, Oracle, Ingres y Rdb de DEC, jugaron un importante papel en el
desarrollo de técnicas para el procesamiento eficiente de consultas declarativas. En los
principios de la década de 1980 las bases de datos relacionales llegaron a competir con
los sistemas de bases de datos jerárquicas y de red incluso en el área de rendimiento.
Las bases de datos relacionales fueron tan sencillas de usar que finalmente
reemplazaron a las bases de datos jerárquicas y de red; los programadores que usaban
estas bases de datos estaban forzados a tratar muchos detalles de implementación de
bajo nivel y tenían que codificar sus consultas de forma procedimental. Aún más
importante, debían tener presente el rendimiento durante el diseño de sus programas, lo
que implicaba un gran esfuerzo. En cambio, en una base de datos relacional, casi todas
estas tareas de bajo nivel se realizan automáticamente por la base de datos, liberando al
programador en el nivel lógico. Desde su escalada en el dominio en la década de 1980,
el modelo relacional ha conseguido el reinado supremo entre todos los modelos de datos
La década de 1980 también fue testigo de una gran investigación en las bases de
datos paralelas y distribuidas, así como del trabajo inicial en las bases de datos
orientadas a objetos.
Principios de la década de 1990.
El lenguaje SQL se diseñó fundamentalmente para las aplicaciones de ayuda a la
toma de decisiones, que son intensivas en consultas, mientras que el objetivo principal
de las bases de datos en la década de 1980 fue las aplicaciones de procesamiento de
transacciones, que son intensivas en actualizaciones. La ayuda a la toma de decisiones y
las consultas reemergieron como una importante área de aplicación para las bases de
datos. Las herramientas para analizar grandes cantidades de datos experimentaron un
gran crecimiento de uso. Muchos vendedores de bases de datos introdujeron productos
de bases de datos paralelas en este periodo, así como también comenzaron ofrecer bases
de datos relacionales orientadas a objeto.
Finales de la década de 1990.
El principal acontecimiento fue el crecimiento explosivo de World Wide Web.
Las bases de datos se implantaron mucho más extensivamente que nunca antes. Los
sistemas de bases de datos tienen ahora soporte para tasas de transacciones muy altas,
así como muy alta fiabilidad y disponibilidad 24×7 (disponibilidad 24 horas al día y 7
días a la semana, que significa que no hay tiempos de inactividad debidos a actividades
de mantenimiento planificadas). Los sistemas de bases de datos también tuvieron
interfaces Web a los datos.
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.
c) Describa la estructura básica de los modelos de base de datos jerárquico, de red,
relacional y orientado a objetos.
Modelo de base de datos jerárquico – estructura básica
Dada esta estructura jerárquica, es fácil rastrear tanto los componentes de la base
de datos como las relaciones 1:M entre ellos.
Sin discusión, la ventaja más importante del RDBMS maneja todos los detalles
físicos complejos. De este modo, la base de datos relacional es percibida por el usuario
como un conjunto de tablas en las que se guardan datos.
Cada tabla es una matriz compuesta por una serie de intersecciones de filas y
columnas. Las tablas, también llamadas relaciones, están relacionadas entre sí porque
comparten una característica de entidad común.
El modelado de datos orientados a los objetos esta basado en por los menos los
siguientes componentes.
Los objetos del modelo de datos son abstracciones de entidades o eventos del
mundo real. En términos generales, un objeto puede considerarse como
equivalente al modelo de E-R, es decir, un objeto representado solo una
ocurrencia individual de una entidad.
Los atributos describen las propiedades de un objeto.
Los objetos que comparten características similares se agrupan en clases. Una
clase es un conjunto de objetos similares a una estructura(atributos) y
comportamiento (métodos) compartidos. En un sentido general, una calase es
diferente de una entidad en que contiene una serie de procedimientos conocido
como métodos. Un método de clase representa una acción en el mundo real.
Las cases se organizan en jerarquías de clases.
La herencia es la capacidad de un objeto dentro, de la jerarquía de la clase, de
heredad los atributos y métodos de la clase que esta sobre él.
El modelo de datos orientado a objetos representa un objeto como un cuadro
vertical: todos los atributos y relaciones de objeto con otros objetos incluye
dentro del cuadro objeto
Normalización
Todos los atributos son atómicos. Un atributo es atómico si los elementos del
dominio son simples e indivisibles.
En otras palabras podríamos decir que la segunda forma normal está basada en el
concepto de dependencia completamente funcional. Una dependencia funcional x → y
es completamente funcional si al eliminar los atributos A de X significa que la
dependencia no es mantenida, esto es que A ∈ X , X − { A } ↛ Y. Una dependencia
funcional x → y es una dependencia parcial si hay algunos atributos A ∈ X que pueden
ser eliminados de X y la dependencia todavía se mantiene, esto es A ∈ X , X − { A } →
Y.
Ejemplo
Tabla 4. Usuarios(2fn)
IdUser Server User Password
Tabla 8. Campeones-ciudad(3fn)
IdCampeon IdCiudad
0001 1001
0002 1002
0003 1003
0004 1004
0001 Lan
0002 Las
0003 AN
0023 0001
0302 0002
0103 0003
0004 0001
SQL
Características
Las sentencias DDL se utilizan para crear y modificar la estructura de las tablas
así como otros objetos de la base de datos.
Tomando en cuenta las tablas y datos en 3fn del apartado “e” de esta asignación.
Create
CREATE DATABASE GameDataLeagueOfLegends;
CREATE TABLE CAMPEONES(
IdCampeon INT NOT NULL,
Nombre VARCHAR (20) NOT NULL,
PRIMARY KEY (IdCampeon)
);
Select
SELECT * FROM Server;
IdServer Server
0001 Lan
0002 Las
0003 AN
Where
SELECT*
FROM Usuarios
WHERE User=`luis`
IdUser User Password
Order by
SELECT * FROM Campeones
ORDER BY Nombre;
IdCampeon Nombre
0002 Ashe
0004 Darius
0003 Garen
0001 Teemo
Insert
INSERT INTO Ciudad (IdCiudad, Ciudad)
VALUES (1005, ' Zaun ');
IdCiudad Ciudad
1005 Zaun
Nota: normalmente el campo id debe ser autogenerado y no insertado, esto solo se hizo
para el ejemplo.
Update
UPDATE Usuario
SET Password = 'psqlfetch'
WHERE IdUser = 0004;`
IdUser User Password
Delete
DELETE FROM Campeones
WHERE IdCampeon = 0001;
IdCampeon Nombre
0002 Ashe
0003 Garen
0004 Darius