SENA –
CF, EN DISEÑO CONFECCION Y MODA
CONCEPTOS
DE BASES DE DATOS
DESARROLLAR
EL SIGUIENTE TALLER EN LOS EQUIPOS CONFORMADOS
1.1: ¿Cuáles son las cuatro
diferencias principales entre un sistema de procesamiento de archivos y un
SGBD?
1.2: En este capítulo se han descrito
las diferentes ventajas principales de un sistema gestor de bases de datos.
¿Cuáles son los dos inconvenientes?
1.3: Explíquese la diferencia entre
independencia de datos física y lógica.
1.4: Lístense las cinco
responsabilidades del sistema gestor de la base de datos. Para cada
responsabilidad explíquense los problemas que ocurrirían si no se realizara esa
función.
1.5: ¿Cuáles son las cinco funciones
principales del administrador de la base de datos?
1.6: Lístense siete lenguajes de
programación que sean procedimentales y dos que sean no procedimentales. ¿Qué
grupo es más fácil de aprender a usar? Explíquese la respuesta.
1.7: Lístense los seis pasos
principales que se deberían dar en la realización de una base de datos para una
empresa particular.
2: Del libro en formato pdf “Korth
& Silberschaft - Fundamentos de Bases de Datos” el cual ustedes tienen,
tomen la figura de la pagina 35 y describan cada uno de los elementos del
gráfico.
3: en postgresql realizar las tablas de la página 29,
poblándolas con sus datos.
1.1
SGBD:
·
proporcionar
una forma de almacenar y recuperar la información de una base de datos de
manera que sea tanto práctica como eficiente.
·
se
diseñan para gestionar grandes cantidades de información.
PROCESAMIENTO
DE ARCHIVOS:
·
Los
registros permanentes son almacenados en varios archivos y se escriben
diferentes programas de aplicación para extraer registros y para añadir
registros a los archivos adecuados.
·
Redundancia e inconsistencia de datos: Debido a que los archivos
y programas de aplicación son creados por diferentes programadores, los
diversos archivos tienen probablemente diferentes formatos y los programas
pueden estar escritos en diferentes lenguajes.
·
inconsistencia de datos: Es decir, las
diversas copias de los mismos datos pueden no coincidir.
·
Dificultad en el acceso a los datos
·
Aislamiento de datos: Debido a que los datos están dispersos
en varios archivos, y los archivos pueden estar en diferentes formatos, es
difícil escribir nuevos programas de aplicación para recuperar los datos
apropiados.
·
Problemas de integridad: Los valores de los
datos almacenados en la base de datos deben satisfacer ciertos tipos de restricciones de consistencia.
·
Problemas de atomicidad: Un sistema de un
computador, como cualquier otro dispositivo mecánico o eléctrico, está sujeto a
fallo.
·
Anomalías en el acceso concurrente. Conforme se ha ido
mejorando el conjunto de ejecución de los sistemas y ha sido posible una
respuesta en tiempo más rápida, muchos sistemas han ido permitiendo a múltiples
usuarios actualizar los datos simultáneamente.
·
Problemas de
seguridad. No
todos los usuarios de un sistema de bases de datos deberían poder acceder a
todos los datos.
1.2
- Complejidad: Los SGBD son conjuntos de
programas muy complejos con una gran funcionalidad. Es preciso comprender
muy bien esta funcionalidad para poder sacar un buen partido de ellos.
- Vulnerable
a los fallos: El hecho de que todo esté centralizado en el
SGBD hace que el sistema sea más vulnerable ante los fallos que puedan
producirse.
1.3
La
Independencia Física De Datos: debe
permitir la realización de estructuras de almacenamiento de datos en forma
independiente de su estructura lógica en la realidad Ventajas: los cambios en
la estructura lógica no implican cambios en la de almacenamiento, las
consideraciones sobre el mejor manejo de los datos almacenados quedan a cargo
del SMBD y los cambio en la estructura de almacenamiento no implican cambios en
los Programas de Aplicación.
La Independencia lógica De Datos: debe permitir una cierta
independencia entre los datos vistos por las aplicaciones y la estructura
lógica de ellos en la realidad. Soporté de la evolución de los datos y que cada
grupo de trabajo vea esos datos como cada grupo lo desea.
|
LOGICA
|
FISICA
|
|
Es la capacidad de modificar el
esquema conceptual sin tener que alterar los esquemas externos ni los
programas de aplicación. Se puede modificar el esquema conceptual para
ampliar la base de datos o para reducirla.
|
Es la capacidad de modificar el
esquema interno sin tener que alterar el esquema conceptual (o los externos).
Se refiere sólo a la separación
entre las aplicaciones y las estructuras físicas de almacenamiento, es más
fácil de conseguir que la independencia lógica.
|
1.4
• Atomicidad: Claramente es
esencial que, o bien tanto el cargo como el abono tengan lugar, o bien no
ocurra ninguno. Es decir, la transferencia de fondos debe ocurrir por completo
o no ocurrir en absoluto.
• Durabilidad: Finalmente, tras la ejecución correcta de la transferencia de fondos, los nuevos valores de las cuentas A y B deben persistir, a pesar de la posibilidad de fallo del sistema.
• Consistencia: La ejecución de la transferencia de fondos preserve la consistencia de la base de datos. Es decir, el valor de la suma A + B se debe preservar.
• Recuperación de fallos: Detectar los fallos del sistema y restaurar la base de datos al estado que existía antes de que ocurriera el fallo.
• Evitar duplicidad de información
1.5
·
Definición del esquema.
·
Definición de la estructura y del método de
acción.
·
Modificación del esquema y de la organización
física.
·
Concesión de autorización para el acceso a
los datos.
·
Mantenimiento rutinario.
1.6
-ADA
-ALGOL
-BASIC
-JAVA
-PASCAL
-PHP
-RUBY
Procedimentales
son mas fáciles de manejar permiten especificar datos que se deben actualizar
mediante sentencias sencillas.
·
Complejidad.
·
Tamaño.
·
Costo de instalación.
·
La independencia de datos es mínima
·
Es necesario escribir programas complejos de
aplicación para responder a cualquier tipo de consultas de datos, por simple
que esta sea.
1.7
·
Determinar la finalidad de la base de datos.
·
Determinar los campos necesarios de la base
de datos.
·
Determinar las tablas que se necesitan en la
base de datos.
·
Determinar a qué tabla pertenece cada campo.
·
Identificar el campo o los campos con valores
únicos en cada registro.
·
Determinar las relaciones entre las tablas.
·
Perfeccionar el diseño.
·
Introducir datos y crear otros objetos de la
base de datos.
2.
• Usuarios normales. Son usuarios no
sofisticados que interactúan con el sistema mediante la invocación de alguno de
los programas de aplicación permanentes que se ha escrito previamente.
• Programadores de
aplicaciones. Son
profesionales informáticos que escriben programas de aplicación. Los
programadores de aplicaciones pueden elegir entre muchas herramientas para desarrollar
interfaces de usuario. Las herramientas de desarrollo rápido de aplicaciones
(DRA) son herramientas que permiten al programador de aplicaciones construir
formularios e informes sin escribir un programa.
• Los usuarios
sofisticados interactúan
con el sistema sin programas escritos. En su lugar, ellos forman sus consultas
en un lenguaje de consulta de bases de datos. Cada una de estas consultas se
envía al procesador de consultas, cuya función es transformar
instrucciones LMD a instrucciones que el gestor de almacenamiento entienda.
• Administrador de la
base de datos Una
de las principales razones de usar SGBDs es tener un control centralizado tanto
de los datos como de los programas que acceden a esos datos.
La persona que tiene este control
central sobre el sistema se llama administrador de la base de datos
(ABD). Las funciones del ABD incluyen las siguientes:
• Definición del
esquema. El
ABD crea el esquema original de la base de datos escribiendo un conjunto de
instrucciones de definición de datos en el LDD.
• Definición de la
estructura y del método de acceso.
• Modificación del
esquema y de la organización física. Los ABD realizan cambios en el esquema y
en la organización física para reflejar las necesidades cambiantes de la
organización, o para alterar la organización física para mejorar el
rendimiento.
• Concesión de
autorización para el acceso a los datos. La concesión de diferentes tipos de
autorización permite al administrador de la base de datos determinar
a qué partes de la base de datos puede acceder cada usuario. La
información de autorización se mantiene en una estructura del sistema
especial que el sistema de base de datos consulta cuando se
intenta el acceso a los datos en el sistema.
• Mantenimiento
rutinario. Algunos
ejemplos de actividades rutinarias de mantenimiento del administrado de la base
de datos son:
Ø Copia de seguridad
periódica de la base de datos, bien sobre cinta o sobre servidores remotos,
para prevenir la pérdida de datos en caso de desastres como inundaciones.
Ø Asegurarse de que
haya suficiente espacio libre en disco para las operaciones normales y aumentar
el espacio en disco según sea necesario.
Ø Supervisión de los
trabajos que se ejecuten en la base de datos y asegurarse de que el rendimiento
no se degrada por tareas muy costosas iniciadas por algunos usuarios.
• Gestor de
autorización e integridad, que comprueba que se satisfagan las restricciones de
integridad y la autorización de los usuarios para acceder a los datos.
• Gestor de
transacciones,
que asegura que la base de datos quede en un estado consistente (correcto) a
pesar de los fallos del sistema, y que las ejecuciones de transacciones concurrentes
ocurran si conflictos.
• Gestor de archivos, que gestiona la
reserva de espacio de almacenamiento de disco y las estructuras de datos usadas
para representar la información almacenada en disco.
• Gestor de memoria
intermedia,
que es responsable de traer los datos del disco de almacenamiento a memoria
principal y decidir qué datos tratar en memoria caché. El gestor de memoria intermedia
es una parte crítica del sistema de bases de datos, ya que permite que la base
de datos maneje tamaños de datos que son mucho mayores que el tamaño de la
memoria principal. El gestor de almacenamiento implementa varias estructuras de
datos como parte de la implementación física del sistema:
• Archivos de datos, que almacenan la
base de datos en sí.
• Diccionario de
datos,
que almacena metadatos acerca de la estructura de la base de datos, en
particular, el esquema de la base de datos.
• Índices, que proporcionan
acceso rápido a elementos de datos que tienen valores particulares.
Procesador de
consultas
Los componentes del procesador de
consultas incluyen:
• Intérprete del LDD, que interpreta las
instrucciones del LDD y registra las definiciones en el diccionario de datos.
• Compilador del LMD, que traduce las
instrucciones del LMD en un lenguaje de consultas a un plan de evaluación que
consiste en instrucciones de bajo nivel que entiende el motor de evaluación de
consultas.
Una consulta se puede traducir
habitualmente en varios planes de ejecución alternativos que proporcionan el
mismo resultado. El compilador del LMD también realiza optimización de
consultas, es decir, elige el plan de evaluación de menor coste de entre
todas las alternativas.
• Motor de evaluación
de consultas,
que ejecuta las instrucciones de bajo nivel generadas por el compilador del
LMD.
3.
3.1
-- Table: cliente
-- DROP TABLE cliente;
CREATE TABLE cliente
(
id integer,
nombre character(80),
calle character(80),
cuidad character(80)
)
WITH (
OIDS=FALSE
);
ALTER TABLE cliente
OWNER TO postgres;
insert into cliente values (19283746 ,
'González', 'Arenal', 'La Granja');
insert into cliente values (01928374 ,
'Gómez' , 'Carretas', 'Cerceda');
insert into cliente values (67789901 ,
'López' , 'Mayor Peguerinos');
insert into cliente values (18273609 ,
'Abril' , 'Preciados', 'Valsaín');
insert into cliente values (32112312 ,
'Santos' , 'Mayor', 'Peguerinos');
insert into cliente values (33666999 ,
'Rupérez' , 'Ramblas', 'León');
insert into cliente values (01928374 ,
'Gómez' , 'Carretas', 'Cerceda');
3.2
-- Table: cuenta
-- DROP TABLE cuenta;
CREATE TABLE cuenta
(
cuenta character varying(10),
saldo integer
)
WITH (
OIDS=FALSE
);
ALTER TABLE cuenta
OWNER TO postgres;
insert into cuenta values ('C-101', 500);
insert into cuenta values ('C-215', 700);
insert into cuenta values ('C-102', 400);
insert into cuenta values ('C-305', 350);
insert into cuenta values ('C-201', 900);
insert into cuenta values ('C-217', 750);
insert into cuenta values ('C-222', 700);
3.3
-- Table: impositor
-- DROP TABLE impositor;
CREATE TABLE impositor
(
"id-cliente" integer,
"numero cuenta"
character varying(10)
)
WITH (
OIDS=FALSE
);
ALTER TABLE impositor
OWNER TO postgres;
insert into impositor values (19283746, 'C-101');
insert into impositor values (19283746, 'C-201');
insert into impositor values (01928374, 'C-215');
insert into impositor values (67789901, 'C-102');
insert into impositor values (18273609, 'C-305');
insert into impositor values (32112312, 'C-217');
insert into impositor values (33666999, 'C-222');
insert into impositor values (01928374, 'C-201');




