miércoles, 15 de marzo de 2017
2.1.8 Comandos generales de alta y baja del DBMS
Una tabla es un sistema de elementos de datos (atributo -
valores) que se organizan que usando un modelo vertical - columnas (que son
identificados por su nombre)- y horizontal filas. Una tabla tiene un número
específico de columnas, pero puede tener cualquier número de filas. Cada fila
es identificada por los valores que aparecen en un subconjunto particular de la
columna que se ha identificado por una llave primaria.
Una tabla de una base de datos es similar en apariencia a
una hoja de cálculo, en cuanto a que los datos se almacenan en filas y
columnas. Como consecuencia, normalmente es bastante fácil importar una hoja de
cálculo en una tabla de una base de datos. La principal diferencia entre
almacenar los datos en una hoja de cálculo y hacerlo en una base de datos es la
forma de organizarse los datos.
Por lo tanto, las creaciones de las tablas en el proceso de
programación en Oracle juegan un papel muy importante. En el momento de crear
las tablas se definen características a dos niveles: Tabla y Columna.
A nivel de tabla: Refieren a una o a varias columnas,
donde cada columna se define individualmente.
A nivel de Columna el nombre de la columna
puede tener un máximo de 30 caracteres.
Del examen de la sintaxis de la
sentencia CreateTable se pueden concluir que necesitamos conocer los
distintos tipos de columna y las distintas restricciones que se pueden imponer
al contenido de las columnas.
Existen varios tipos de datos en SQL. De esta manera, cada
columna puede albergar una información de naturaleza distinta. Los tipos de
datos más comunes y sus características en Oracle Express (10 Y 11g) se resumen
en la siguiente tabla. Las versiones de Oracle comercial soportan una gama
mucho más amplia de tipos de datos.
Ejemplo: Considere la siguiente tabla de datos
correspondientes a los campeones de Fórmula 1 (1950 - 2012) y sus escuderías. Y
su traducción a sentencias Oracle.
CREATE TABLE f1 (yearINTEGER PRIMARY KEY, campeonCHAR (30),
escuderiaCHAR (20));
Ejemplo: Estados, capitales, densidad de población y superficie de la República Mexicana
CREATE TABLE estados (idEstadoINTEGER PRIMARY KEY, nombreEstadoCHAR
(25) NOT NULL, capitalCHAR (25) NOT NULL, densidadINTEGER NOT NULL,
poblacionINTEGER NOT NULL
);
Tablas Temporales
Oracle permite la creación de tablas temporales para
mantener datos propios y exclusivos a una sesión Oracle determinada. Estos
datos permanecerán en el sistema sólo durante el tiempo que dure la transacción
o sesión involucrada. No obstante, al igual que para las tablas permanentes, la
definición de las tablas temporales se almacena en las tablas del sistema.
La siguiente sintaxis permite crear una tabla temporal
personal para cada sesión. Eso significa que los datos no se comparten entre
sesiones y se eliminan al final de la misma.
CREATEGLOBAL TEMPORARYTABLE [ schema. ]table (
nombreColumnatipoDato [DEFAULT expresión] [NOT NULL],
[, nombre_columnatipo_dato [DEFAULT expresión]
nombreColumnatipoDato [DEFAULT expresión] [NOT NULL],
[, nombre_columnatipo_dato [DEFAULT expresión]
[restricción columna] ... |restricción tabla]; ON COMMIT
{DELETE| PRESERVE} ROWS [ physical_properties]
Con la opción ON COMMIT DELETE ROWS se borran los
datos cada vez que se hace COMMIT en la sesión.
Con la opción ON PRESERVE DELETE ROWS los datos no
se borran hasta el final de la sesión.
Sus ventajas son varias, la información contenida en ella
esta solo disponible para la sesión actual,
cualquier inserción, borrado, actualización solo se refleja
en la sesión activa.
Muchas funcionalidades de cualquier tabla normal se
mantienen en ella, como triggers a nivel tabla, vistas, índices, exportar e
importar (claro solo la definición de la tabla).
No es posible declarar llaves foráneas en una tabla
temporal.
(DROP) Eliminación
Cuando una tabla ya no es útil y no vamos a volver a necesitarla
debe ser borrada. Esta operación se puede realizar con el comando DROP
TABLE.
DROP TABLE nombre tabla [CASCADE
CONSTRAINTS][PURGE]
Se borra la tabla de la base de datos, borrando toda la
información contenida en la tabla, es decir, todas las filas. También se
borrará toda la información que sobre la tabla existiera en el diccionario.
Si alguna columna de la tabla a borrar sirve como clave
ajena de alguna tabla detalle, impide la eliminación de la tabla, ya que existe
una restricción que requiere de la existencia de la tabla maestra. Esto se
puede arreglar colocando la sentencia CASCADE CONSTRAINTS.
Esto produce que las restricciones de la tabla detalle se
borren antes de borrar la tabla maestra. PURGE evita que los objetos
borrados se vayan a la papelera
La siguiente sentencia produce la eliminación de la tabla
BORRAME.
Modificación
Oracle permite modificar las restricciones definidas para
una tabla. Esto puede llevar a “inconsistencia” de los datos ya introducidos en
la base de datos. Por ello, Oracle tiene definidos mecanismos para modificación
de los datos ya existentes.
Esta operación se puede realizar con el comando ALTER
TABLE.
Hay que tener en
cuenta varios puntos:
Ø
No es posible disminuir el tamaño de la columna,
si esta contiene datos
Ø
En modificaciones, todos los datos tanto nuevos
como viejos deben de ser compatibles o la tabla debe de estar vacía.
Ø
La opción ADD NOT NULL solo será
posible si la tabla esta vacía
Ø
La opción MODIFI NOT NULL solo se podrá
modificar siempre y cuando no se tenga un valor nulo o este vacía la columna
en cuestión.
Considere el ejemplo Propietario - Automóvil, bajo el
criterio de hacienda del Gobierno del Estado de Veracruz, México. Modificaremos
el ejemplo para añadir el atributo color.
Es factible modificar una tabla añadiendo o eliminando
restricciones, en este caso para el ejemplo anterior el comando a utilizar será
ALTER TABLE tabla {ADD | DROP} CONSTRAINT restricción;
El cual permitirá el borrado en cascada.
Ahora veremos los
comandos en:
Ø
MySQL
MySQL soporta varios motores de almacenamiento que tratan
con distintos tipos de tabla. Los motores de almacenamiento de MySQL incluyen
algunos que tratan con tablas transaccionales y otros que no lo hacen:
MyISAM trata tablas no transaccionales. Proporciona
almacenamiento y recuperación de datos rápida, así como posibilidad de
búsquedas fulltext. MyISAM se soporta en todas las
configuraciones MySQL, y es el motor de almacenamiento por defecto a no ser que
tenga una configuración distinta a la que viene por defecto con MySQL.
El motor de almacenamiento MEMORY proporciona
tablas en memoria. El motor de almacenamiento MERGE permite una colección
de tablas MyISAM idénticas ser tratadas como una simple tabla.
Como MyISAM, los motores de
almacenamiento MEMORY y MERGE tratan tablas no
transaccionales y ambos se incluyen en MySQL por defecto.
Nota: El motor de
almacenamiento MEMORY anteriormente se conocía como HEAP.
Los motores de almacenamiento Innoble y BDB proporcionan
tablas transaccionales. BDB se incluye en la distribución binaria MySQL-Max en
aquellos sistemas operativos que la soportan. InnoDB también se incluye
por defecto en todas las distribuciones binarias de MySQL5.0. En distribuciones
fuente, puede activar o desactivar estos motores de almacenamiento configurando
MySQL a su gusto.
El motor de almacenamiento EXAMPLE es un motor de
almacenamiento 'tonto' que no hace nada. Puede crear tablas con este motor,
pero no puede almacenar datos ni recuperarlos. El objetivo es que sirva como
ejemplo en el código MySQL para ilustrar cómo escribir un motor de
almacenamiento. Como tal, su interés primario es para desarrolladores.
NDB Cluster es el motor de almacenamiento usado por MySQL
Cluster para implementar tablas que se particional en varias máquinas. Está
disponible en distribuciones binarias MySQL-Max 5.0. Este motor de
almacenamiento está disponible para Linux, Solaris, y Mac OS X. Los autores
mencionan que se añadirá soporte para este motor de almacenamiento en otras
plataformas, incluyendo Windows en próximas versiones.
El motor de almacenamiento ARCHIVE se usa para
guardar grandes cantidades de datos sin índices con una huella muy pequeña.
El motor de almacenamiento CSV guarda datos en
archivos de texto usando formato de valores separados por comas.
El motor de almacenamiento FEDERATED se añadió en
MySQL 5.0.3. Este motor guarda datos en una base de datos remota. En esta
versión sólo funciona con MySQL a través de la API MySQL C Client. En futuras
versiones, será capaz de conectar con otras fuentes de datos usando otros drivers
o métodos de conexión clientes.
La versión 5 de MySQL crea por defecto
tablas innoDB que permiten el manejo de integridad referencial,
transacciones. Al igual que las tablas regulares de oracle. Para saber si el
gestor de base de datos de MySQL que tenemos las soporta es necesario ejecutar
la siguiente sentencia.
SHOW VARIABLES liKE '%innodb%';
Si nuestro gestor soporta por defecto las
tablas innodb las sentencias para crear las tablas previamente
mostradas serán exactamente igual a las de oracle. En caso contrario se muestra
la sintaxis correspondiente
CREATE TABLE f1 (yearINTEGER PRIMARY KEY, campeonCHAR (30),
escuderiaCHAR (20)) ENGINE = InnoDB;
Ejemplo: Estados, capitales, densidad de población y superficie de la República Mexicana
CREATE TABLE estados (idEstadoINTEGER PRIMARY KEY, nombreEstadoCHAR
(25) NOT NULL, capitalCHAR (25) NOT NULL, densidadINTEGER NOT NULL,
poblacionINTEGER NOT NULL) ENGINE = InnoDB;
Comando Describe
MySQL proporciona este comando que resulta útil para
conocer la estructura de una tabla, las columnas que la forman y su tipo y
restricciones. La sintaxis es la siguiente DESCRIBE nombre Tabla.
DESCRIBE f1;
Comando SHOW TABLES y SHOW CREATE TABLE
El comando SHOW TABLES muestra las tablas dentro
de una base de datos y SHOW CREATE TABLES muestra la estructura de
creación de la tabla.
Tablas temporales
Las tablas temporales solo existen mientras la sesión
está viva. Si se corre este código en un script de PHP (Cualquier otro
lenguaje), la tabla temporal se destruirá automáticamente al término de la
ejecución de la página. Si no específica MEMORY, la tabla se guardará por
defecto en el disco.
CREATE TEMPORARY TABLE temporal (
ifeINTEGER (13) PRIMARY KEY,
nombreCHAR (30) NOT NULL UNIQUE
);
Ø
Este tipo de tabla solo puede ser usada por el
usuario que la crea.
Ø
Si creamos una tabla que tiene el mismo nombre
que una existente en la base de datos, la que existe quedará oculta y
trabajaremos sobre la temporal.
Tablas Memory (Head)
Se almacenan en memoria
Una tabla head no puede
tener más de 1600 campos
Las tablas MEMORY usan
una longitud de registro fija.
MEMORY no soporta
columnas BLOB o TEXT.
MEMORY en MySQL 5.0
incluye soporte para columnas AUTO_INCREMENT e índices en columnas que
contengan valores NULL.
Las tablas MEMORY se
comparten entre todos los clientes (como cualquier otra tabla no-TEMPORARY).
CREATE TEMPORARY TABLE temporal (
ifeINTEGER (13) PRIMARY KEY,
nombreCHAR (30) NOT NULL UNIQUE
) ENGINE = MEMORY;
Modificación
Esta operación se puede realizar con el comando ALTER
TABLE. Para usar ALTER TABLE, necesita
permisos ALTER, INSERT y CREATE para la tabla. La
sintaxis para MySQL es
ALTER [IGNORE] TABLEtbl_name
alter_specification [, alter_specification] ...;
alter_specification:
ADD [COLUMN] column_definition [FIRST | AFTERcol_name ]
| ADD [COLUMN] (column_definition,...)
| ADD INDEX [index_name] [index_type]
(index_col_name,...)
| ADD [CONSTRAINT [symbol]]
PRIMARY KEY [index_type] (index_col_name,...)
| ADD [CONSTRAINT [symbol]]
UNIQUE [index_name] [index_type] (index_col_name,...)
| ADD [FULLTEXT|SPATIAL] [index_name]
(index_col_name,...)
| ADD [CONSTRAINT [symbol]]
FOREIGN KEY [index_name] (index_col_name,...)
[reference_definition]
| ALTER [COLUMN] col_name {SET DEFAULT literal | DROP
DEFAULT}
| CHANGE [COLUMN] old_col_namecolumn_definition
[FIRST|AFTERcol_name]
| MODIFY [COLUMN] column_definition [FIRST |
AFTERcol_name]
| DROP [COLUMN] col_name
| DROP PRIMARY KEY
| DROP INDEXindex_name
| DROP FOREIGN KEYfk_symbol
| DISABLE KEYS
| ENABLE KEYS
| RENAME [TO] new_tbl_name
| ORDER BYcol_name
| CONVERT TO CHARACTER SETcharset_name
[COLLATEcollation_name]
| [DEFAULT] CHARACTER SETcharset_name
[COLLATEcollation_name]
| DISCARD TABLESPACE
| IMPORT TABLESPACE
| table_options
Considere el ejemplo Propietario - Automóvil, bajo el
criterio de hacienda del Gobierno del Estado de Veracruz, México. Modificaremos
el ejemplo para añadir el atributo color según la sintaxis MySQL
Ejemplo: Eliminar una
llave foránea
ALTER TABLE automovil DROP FOREIGN
KEY FK_Propietario;
Ejemplo: Agregar una llave foranea con borrado en cascada
ALTER TABLEautomovil ADD CONSTRAINTFK_Propietario FOREIGN
KEY (idPropietario) REFERENCES propietario (idPropietario) ON DELETE CASCADE;
Puede ejecutar múltiples
cláusulas ADD, ALTER, DROP, y CHANGE en un único
comandoALTER TABLE. Esta es una extensión MySQL al estándar SQL, que permite
sólo una de cada cláusula por comando ALTER TABLE.
2.1.7 Procedimiento para configuración de un DBMS.
Para configurar nuestro DBMS
podemos acceder a las siguientes pantallas, para Oracle o MySQL.
El esquema de una base de
datos (en inglés, Database Schema) describe la estructura de una Base de datos,
en un lenguaje formal soportado por un Sistema administrador de Base de datos
(DBMS). En una Base de datos Relacional, el Esquema define sus tablas, sus
campos en cada tabla y las relaciones entre cada campo y cada tabla.
Oracle generalmente asocia un
'username' como esquemas en este caso SYSTEM y HR (Recursos humanos).
Por otro lado, MySQL presenta
dos esquemas information_schema y MySQL ambos guardan información sobre
privilegios y procedimientos del gestor y no deben ser eliminados.
2.1.6 Procedimiento general de instalación
Oracle DataBase XE es una gran
base de datos para:
Ø Desarrolladores que trabajan en PHP, Java, .NET, XML,
y Open Sourceapplications
Ø DBAs que necesitan desarrollar libremente
Ø Vendedores de Software y hardware que necesitan
distribuir sin cargos
Ø Instituciones educativas y estudiantes que cursan
materias relacionados con base de datos
Oracle es líder en bases de
datos. Con Oracle XE, es posible desarrollar y desplegar aplicaciones potentes,
actualizar sin costo y generar complejas migraciones.
Oracle Express Edition se
instala en una máquina con cualquier número de procesadores, solo puede
contener una base de datos y direccionar un máximo de 4GB de datos y un máximo
de 1GB RAM.
Oracle DataBase XE, usa una
interface basada en browser (Navegador) para:
Ø Administrar la base de datos
Ø Crear tablas, vistas, y otros objetos de base de datos
Ø Importar, exportar, y ver tablas de datos
Ø Ejecutar consultas y scripts SQL
Ø Generar reportes
Oracle DataBase XE incluye
Oracle Application Express release 2.1, un ambiente de desarrollo gráfico para
crear aplicaciones Web con base de datos. Oracle DataBase XE es una versión
reducida de Oracle con las misma características y potencialidad de Oracle DataBase.
Es necesario destacar que no soporta todos los tipos de datos de Oracle DataBase
XE.
Oracle DataBase XE incluye las
siguientes utilidades:
Línea de comandos
SQL (SQL*Plus), para ejecutar sentencias SQL y comandos PL/SQL y ejecutar
scripts
SQL*Loader,
para insertar datos en la base de datos
Utilidades
para importar, exportar y volcar la base de datos
Requerimientos del sistema
para Oracle DataBase XE Server y Oracle DataBase XE Client.
Estos puertos son usados por
defecto por Oracle DataBase XE
2.1.5 Variables de Ambiente y archivos importantes para instalación.
Para instalar MySQL como primera
instancia el archivo primordial es el que se descarga de la Web de MySQL. El
proceso para instalar MySQL desde un archivo ZIP es el siguiente:
- Extraer el contenido del archivo dentro del directorio de instalación deseado.
- Crear un archivo de opciones.
- Elegir un tipo de servidor MySQL
- Iniciar el servidor MySQL.
- Establecer la seguridad de las cuentas de usuario por defecto.
2.1.4 Instalación del software de BD en modo transaccional
Una base de datos en modo
transaccional significa que la BD será capaz de que las operaciones de
inserción y actualización se hagan dentro de una transacción, es un componente
que procesa información descomponiéndose de forma unitaria en operaciones indivisibles,
llamadas transacciones, esto quiere decir que todas las operaciones se realizan
o no, si sucede algún error en la operación se omite todo el proceso de
modificación de la base de datos, si no sucede ningún error se hacen toda la
operación con éxito.
Una transacción es un conjunto
de líneas de un programa que llevan insert o update o delete.
Todo aquél software que tiene un log de transacciones (que es la
"bitácora" que permite hacer operaciones de commit o rollback),
propiamente es un software de BD; aquél que no lo tiene (v.g. D-Base),
propiamente no lo es. Todo software de base de datos es transaccional; si el
software del BD no es "transaccional", en realidad NO es un
"software" de BD; en todo caso, es un software que emula el
funcionamiento de un verdadero software de BD. Cada transacción debe finalizar
de forma correcta o incorrecta como una unidad completa. No puede acabar en un
estado intermedio.
Se usan los siguientes métodos:
Ø Begin TRans para iniciar la transacción
Ø CommitTrans para efectuar los cambios con éxito
Ø RollbackTrans para deshacer los cambios
Y depende que base de datos
uses para efectuar las operaciones, pero, es la misma teoría para cualquier BD.
Una vez que se sabe la forma
de ingresar comandos, es el momento de acceder a una base de datos.
Suponga que en su hogar posee
varias mascotas y desea registrar distintos tipos de información sobre ellas.
Puede hacerlo si crea tablas para almacenar sus datos e introduce en ellas la
información deseada. Entonces, podrá responder una variedad de preguntas acerca
de sus mascotas recuperando datos desde las tablas. Los pasos serían:
Ø Crear una base de datos
Ø Crear una tabla
Ø Introducir datos en la tabla
Ø Recuperar datos desde la tabla de varias maneras
Ø Emplear múltiples tablas
La base de datos menagerie (palabra
inglesa que en español significa "colección de animales") se ha hecho
deliberadamente simple, pero no es difícil imaginar situaciones del mundo real
donde podría usarse un tipo similar de base de datos. Por ejemplo, para un
granjero que desee hacer el seguimiento de su hacienda, o para los registros de
los pacientes de un veterinario.
Una vez instalado MySQL
(disponible en el sitio web de MySQL en formato TAR:
2.1.3 Requerimientos para instalación.
Antes de instalar cualquier
SGBD es necesario conocer los requerimientos de hardware y software, el posible
software a desinstalar previamente, verificar el registro de Windows y el
entorno del sistema, así como otras características de configuración especializadas
como pueden ser la reconfiguración de los servicios TCP/IP y la modificación de
los tipos archivos HTML para los diversos navegadores.
Se presenta a continuación una
serie de requerimientos mínimos de hardware y software para instalar oracle 11g
Express y MySQL estándar versión 5.1. en Windows Seven y Ubuntu 10.
Ø La regla general para determinar el tamaño de la memoria
virtual depende del tamaño de memoria RAM instalada. Si su sistema tiene menos
de 4 GB de RAM por lo general el espacio de intercambio debe ser de al menos
dos veces este tamaño. Si usted tiene más de 8 GB de memoria RAM instalada
puede considerar usar el mismo tamaño como espacio de intercambio. Cuanta más
memoria RAM tenga instalada, es menos probable usar el espacio de intercambio,
a menos que tenga un proceso inadecuado.
2.1.2 Estructuras físicas de la base de datos
En una base de datos
almacenamos información relevante para nuestro negocio u organización y desde
el punto de vista físico, la base de datos está conformada por dos tipos de
archivos:
Archivos de datos: contiene
los datos de la base de datos internamente, está compuesto por páginas
enumeradas secuencialmente que representa la unidad mínima de almacenamiento.
Cada página tiene un tamaño de 8kb de información. Existen diferentes tipos de
páginas, a tener en cuenta:
Páginas de datos: es el tipo
principal de páginas y son las que almacenan los registros de datos.
Páginas de espacio libre (PFS
Page Free Space): almacenan información sobre la ubicación y el tamaño del
espacio libre.
Paginas GAM and SGAM:
utilizadas para ubicar extensiones.
Páginas de Mapa de Ubicaciones
de índices (IAM – IndexAllocationMap): contiene información sobre el
almacenamiento de páginas de una tabla o índice en particular.
Páginas Índices: Utilizada
para almacenar registros de índices.
Archivo de Registro de Transacciones:
El propósito principal del
registro de transacciones es la recuperación de datos a un momento en el tiempo
o complementar una restauración de copia de respaldo completa (full backup). El
registro de transacciones no contiene páginas, sino entradas con todos los
cambios realizados en la base de datos, como son las modificaciones de datos,
modificaciones de la base de datos y eventos de copia de seguridad y
restauración. El acceso a datos es secuencial, ya que el registro de
transacciones se actualiza en el mismo orden cronológico en el que se hacen las
modificaciones.
Este archivo no puede ser
leído por herramientas de usuario de SQL, aunque existen herramientas de
terceros que leen este archivo para recuperar los cambios efectuados.
Dependiendo de la versión el registro de transacciones se utiliza para otros
propósitos como por ejemplo bases de datos espejo (mirror) y transporte remoto
de transacciones (log shopping).
Para muchos de los
administradores de bases de datos, la imagen anterior representa la parte
lógica y la parte física, donde:
Data File:
Los datafiles son los archivos
físicos en los que se almacenan los objetos que forman parte de un tablespace.
Un datafile pertenece solamente a un tablespace y a una instancia de base de
datos. Un tablespace puede estar formado por uno o varios datafiles. Cuando se crea
un datafile, se debe indicar su nombre, su ubicación o directorio, el tamaño
que va a tener y el tablespace al que va a pertenecer. Además, al crearlos,
ocupan ya ese espacio, aunque se encuentran totalmente vacíos, es decir, Oracle
reserva el espacio para poder ir llenándolo poco a poco con posterioridad. Por
supuesto, si no hay sitio suficiente para crear un archivo físico del tamaño
indicado, se producirá un error y no se creará dicho archivo.
Cuando se van creando objetos
en un tablespace, éstos físicamente se van almacenando en los datafiles
asignados a dicho tablespace, es decir, cuando creamos una tabla y vamos
insertando datos en ella, estos datos realmente se reparten por los archivos
físicos o datafiles que forman parte del tablespace. No se puede controlar en
qué archivo físico se almacenan los datos de un tablespace. Si un tablespace
está formado por 2 datafiles y tenemos una tabla en ese tablespace, a medida
que vamos insertando filas éstas se almacenarán en cualquiera de los dos
datafiles indistintamente, es decir, unas pueden estar en un datafile y otras
en otro.
El espacio total disponible en
un tablespace es lógicamente la suma de los tamaños que ocupan los archivos
físicos o datafiles que lo forman. Como hemos indicado estos datafiles, al
crearlos, están totalmente vacíos, simplemente es un espacio reservado y
formateado por Oracle para su uso. A medida que se van creando objetos en ellos
como tablas, índices, etc. y se van insertando registros en estas tablas, los
datafiles se van llenando o, lo que es lo mismo, el tablespace se va llenando.
Tienen las siguientes características:
Ø Un archivo sólo puede estar asociado con una base de datos.
Ø Los archivos de datos tienen atributos que permiten
reservar automáticamente para ellos extensiones cuando se acaba el espacio.
Ø Uno o más archivos de datos forman una unidad lógica de
almacenamiento llamada tablespace.
Os Block:
Conocidos como Disk Block,
estos mapean a la data blocks. A la hora de crear una nueva base de datos se
debe indicar cuántos bloques de sistema operativo formarán un bloque de datos.
2.1.1 Estructura de memoria y procesos de la instancia
La memoria se puede
estructurar en las siguientes partes:
Área Global del sistema (SGA),
la cual se comparte entre todos los servidores y los procesos en segundo plano.
Áreas globales de programas
(PGA), que es privada para cada servidor y proceso en segundos planos; a cada
proceso se asigna un PGA.
Área de Ordenaciones
(SortAreas).
Memoria Virtual
Área de código de software.
Instancia de una Base de Datos
Cada instancia está asociada a
una base de datos. Cuando se inicia una base de datos en un servidor
(independientemente del tipo de computadora), se le asigna un área de memoria
(SGA) y lanza uno o más procesos. A la combinación del SGA y de los procesos es
lo que se llama instancia. La memoria y los procesos de una instancia gestionan
los datos de la base de datos asociada de forma eficiente y sirven a uno o
varios usuarios.
Cuando se inicia una instancia
El DBMS monta la base de datos, es decir, asocia dicha instancia a su base de
datos correspondiente. En una misma computadora pueden ejecutarse varias
instancias simultáneamente, accediendo cada una a su propia base de datos física.
Únicamente el administrador de
la base de datos puede iniciar una instancia y abrir una base de datos. Si una
base de datos está abierta, entonces el administrador puede cerrarla y, cuando
esto ocurre, los usuarios no pueden acceder a la información que contiene.
2.1. Características del DBMS
Los sistemas de administración
de bases de datos son usados para:
Permitir a los usuarios
acceder y manipular la base de datos proveyendo métodos para construir sistemas
de procesamiento de datos para aplicaciones que requieran acceso a los datos.
Proveer a los administradores
las herramientas que les permitan ejecutar tareas de mantenimiento y
administración de los datos.
Algunas de sus
características son:
Control de la
redundancia de datos
Este consiste en lograr
una mínima cantidad de espacio de almacenamiento para almacenar los datos
evitando la duplicación de la información. De esta manera se logran ahorros en
el tiempo de procesamiento de la información, se tendrán menos inconsistencias,
menores costos operativos y hará el mantenimiento más fácil.
Compartimiento de datos
Una de las principales características
de las bases de datos, es que los datos pueden ser compartidos entre muchos
usuarios simultáneamente, proveyendo, de esta manera, máxima eficiencia.
Mantenimiento de la integridad
La integridad de los datos es
la que garantiza la precisión o exactitud de la información contenida en una
base de datos. Los datos interrelacionados deben siempre representar
información correcta a los usuarios.
Soporte para control de
transacciones y recuperación de fallas.
Se conoce como transacción
toda operación que se haga sobre la base de datos. Las transacciones deben por
lo tanto ser controladas de manera que no alteren la integridad de la base de
datos. La recuperación de fallas tiene que ver con la capacidad de un sistema
DBMS de recuperar la información que se haya perdido durante una falla en el
software o en el hardware.
Independencia de los datos.
En las aplicaciones basadas en
archivos, el programa de aplicación debe conocer tanto la organización de los
datos como las técnicas que el permiten acceder a los datos. En los sistemas
DBMS los programas de aplicación no necesitan conocer la organización de los
datos en el disco duro. Este totalmente independiente de ello.
Seguridad
La disponibilidad de los datos
puede ser restringida a ciertos usuarios. Según los privilegios que posea cada
usuario de la base de datos, podrá acceder a mayor información que otros.
Velocidad
Los sistemas DBMS modernos
poseen altas velocidades de respuesta y proceso.
Independencia del hardware
La mayoría de los sistemas
DBMS están disponibles para ser instalados en múltiples plataformas de
hardware.
Los sistemas de bases de datos
relacionales RDBMS (RelationalDatabase Management System, por sus siglas en inglés)
tales como Oracle, MySQL, SQL Server, PostgreSQL, Informix, entre otros, le
permiten ejecutar las tareas que se mencionan a continuación, de una forma
entendible y razonablemente sencilla:
Ø Le permiten ingresar datos al sistema.
Ø Le permiten almacenar los datos.
Ø Le permiten recuperar los datos y trabajar con ellos.
Ø Le proveen herramientas para capturar, editar y manipular
datos.
Ø Le permiten aplicar seguridad.
Ø Le permiten crear reportes e informes con los datos.
unidad 2
unidad 2
2.1. Características del DBMS
2.1.1 Estructura de memoria y
procesos de la instancia
2.1.2 Estructuras físicas de
la base de datos
2.1.3 Requerimientos para instalación.
2.1.3 Requerimientos para instalación.
2.1.4 Instalación del software
de BD en modo transaccional
2.1.5 Variables de Ambiente y archivos importantes para instalación.
2.1.6 Procedimiento general de instalación
2.1.7 Procedimiento para
configuración de un DBMS.
2.1.8 Comandos generales de alta y baja del DBMS
martes, 28 de febrero de 2017
Características y funciones de un Administrador de Base de Datos
Funciones
1.- Administrar la estructura de la Base de Datos
2.- Administrar la actividad de los datos
3.- Administrar el Sistema Manejador de Base de Datos
4.- Establecer el Diccionario de Datos
5.- Asegurar la confiabilidad de la Base de Datos
6.- Confirmar la seguridad de la Base de Datos
1.4. Nuevas tecnologías y aplicaciones de los sistemas de bases de datos
Los sistemas orientados a los
datos se caracterizan porque los datos no son de una aplicación sino de una
Organización entera que los va a utilizar; se integran las aplicaciones, se
diferencian las estructuras lógicas y físicas. El concepto de relación cobra
importancia. Originalmente las aplicaciones cubrían necesidades muy específicas
de procesamiento, se centraban en una tarea específica. Las bases de datos
evitan las inconsistencias que se producían por la utilización de los mismos
datos lógicos desde distintos archivos a través de procesos independientes.
El mundo real considera
interrelaciones entre datos y restricciones semánticas que deben estar
presentes en una base de datos. No solo debe almacenar entidades y atributos,
sino que también debe almacenar interrelaciones entre datos.
La redundancia de datos debe
ser controlada, pero si se admite cierta redundancia física por motivos de
eficiencia.
Pretenden servir a toda la organización.
La independencia de los
tratamientos sobre los datos y estos mismos, ha tenido una enorme influencia en
la arquitectura de los SGBD.
La definición y descripción
del conjunto de datos contenido en la base debe ser única e integrada con los
mismos datos.
La actualización y
recuperación de las bases de datos debe realizarse mediante procesos incluidos
en SGBD, de modo que se mantenga la integridad, seguridad y confidencialidad de
la base.
Las limitaciones de los
sistemas orientados a archivos puramente secuenciales no los privaron de ser
herramientas eficaces para producir pagos, facturas y otros informes una o dos
veces al mes. Sin embargo, para ejecutar muchas tareas rutinarias en los
negocios se necesita el acceso directo a los datos -La capacidad de tener
acceso y procesar directamente un registro dado sin ordenar primero el archivo
o leer los registros en secuencia.
Los archivos de acceso directo
permiten la recuperación de los registros aleatoriamente, a diferencia de los
de acceso secuencial. Sin embargo, los archivos de acceso directo solamente
proporcionaron una solución parcial. Para lograr una solución más completa a
estos problemas fue necesario introducir los sistemas de gestión de bases de
datos.
Los usuarios cada vez necesitamos
más recursos en tecnología, es por eso que surgen las evoluciones de sistemas,
y por ende de las bases de datos, es impresionante ver como la información se
procesa en microsegundos, mientras se realizan transacciones al mismo tiempo en
la misma base de datos en lugares y estados diferentes, la importancia de la
información es lo que ha llevado a que las empresas y otras instituciones
inviertan para la seguridad de sus datos, el futuro de la tecnología es
incierto debido a que algunas proyecciones de tecnología estimadas hace 5 años
y proyectadas hasta los próximos 10 años ya son una realidad, la tecnología
avanza a pasos agigantados es por eso que no debemos quedarnos atrás y apostar
a las nuevas tecnologías que sin duda harán más fácil la vida de las personas
que tratamos con la administración y seguridad de la información. Tanto en uno
como en otro papel, la tecnología de bases de datos se ve sometida a numerosos
cambios tanto desde el punto de vista empresarial como tecnológico. Las nuevas
aplicaciones están llevando hasta el límite a los sistemas de bases de datos
disponibles, al incorporar documentos multimedia. Imágenes, series temporales,
datos activos, grandes cantidades de información (no olvidemos que los datos se
expanden hasta llenar el espacio disponible), etc. Por otro lado la mejora
espectacular en el número de instrucciones de máquina ejecutables en un
segundo, coste de procesador, coste de la unidad de memoria secundaria y de
memoria principal, numero de bits transmitidos por unidad de coste y por
segundo, obligan a los SGBD a evolucionar para aprovechar estos avances en el
hardware y las comunicaciones. En este sentido la explosión de Internet, el
World Wide Web, y las “autopistas de la información” (informationhighWay), cuya
utilización crece a un ritmo vertiginoso, están imponiendo un nuevo escenario
para el desarrollo de los sistemas de información. Los sistemas de bases de
datos, como elemento clave de los sistemas de información. Deben jugar un papel
fundamental en esta explosión de información, si no quieren "ser
arrollados en /as autopistas de la información”, como advertía David De Witt.
En el VLDB de 1995.Las bases de datos terminarán siendo como el teléfono:
fáciles de usar (en cuanto interfaces, rendimiento, etc.), conectado con cualquier
otra cosa alrededor del mundo, con estándares reconocidos en todas partes,
consistentes y fiables y con mayores funcionalidades. Las nuevas tecnologías de
bases de datos permitirán hacer realidad aplicaciones hoy en día inimaginables
tanto por el volumen de datos que manejarán (serán auténticasVLDB2) como por
las facilidades para su explotación.
1.3. Consideraciones para elegir un buen DBMS
Debido a que en el mercado
mundial existen muchos manejadores de bases de datos es importante tomar en
cuenta algunas consideraciones de importancia para elegir cuál es el que más
conviene a nuestros intereses. Por ejemplo:
Cual es la disponibilidad de
soporte de este gestor de bases de datos
Es factible que encuentre
personal capacitado fácilmente para resolver problemas en mi gestor de bases de
datos, por ejemplo veamos la capacidad de personas que usan Oracle, SQL Server,
PosgreSQL, MySQL, etc., las entidades tienen que ser gestionadas por un
Administrador de bases de datos, de igual manera debe considerarse si es
posible determinar el costo de un especialista en dicho gestor de base de datos
o si el gestor nos brinda soporte en línea o vía remota.
Si las aplicaciones que van a
consumir esos datos son de misión critica y se requiere alta disponibilidad y
soluciones rápidas, no es recomendable usar un DBMS poco conocido en el mercado
y mucho menos que sea nuevo como los gestores non-SQL ya que nadie los conoce y
si mi gestor de base de datos sufre una caída, quien, cuándo y cuánto va a
costar repararlo ya que a pesar de poseer una muy buena política de backups,
puede que el mismo servidor se dañe (hardware) y si no consigo alguien que lo
ponga en línea lo mas rápido posible estaré en problemas pues la empresa va a
tener una larga caída que se representara en dinero y falta de productividad.
Cual es la carga de
transacciones que va a soportar esa base de datos
Si voy a necesitar una alta
carga de transacciones (mayores a 200 usuarios conectados al mismo tiempo) es
necesario que se vaya pensando en algo robusto y bien probado en el mercado
servidores como cualquier versión express (SQL Servr, DB2, etc.) no es
aceptable, si lo que se desea es algo libre pues PostgreSQL es la respuesta .
Que sistema operativo se
planea implementar
Está comprobado que SGBD
diseñados en opensource (Código abierto) corren mucho más rápido en entornos
operativos basados en UNIX que sobre Windows, así que aquí debería de tenerse
en cuenta el sistema operativo, si no se ha tomado la decisión entonces elegir
el sistema operativo del servidor dependiendo del SGBD, en foros como los de
PosgreSQL, por ejemplo, la gente que ha realizado pruebas de este SGBD indican
que se tiene un 25% de optimización corriendo sobre LINUX que sobre Windows.
Si no se tiene un sistema
operativo en el servidor sería recomendable elegirlo en base al SGBD y esto
también tendría consideraciones como la operatividad y la capacidad de
administración de un servidor en tal o cual SO y los gastos que implicarían su
mantenimiento.
1.2. Análisis de los manejadores de bases de datos
El sistema
manejador de bases de datos es la porción más importante del
software de un sistema de base de datos. Un DBMS es una colección de numerosas
rutinas de software interrelacionadas, cada una de las cuales es responsable de
alguna tarea específica.
Microsoft SQL Server al igual
que Oracle DB y MySQL Server son sistemas de gestión o manejadores de base de
datos, existen muchos como:
·
MySQL
·
PosgreSQL
·
Microsoft SQL Server
·
Oracle
·
Microsoft Access
·
Microsoft Visual Fox
Pro
·
Firebird
·
mSQL (mini SQL)
·
IBM DB2
·
IBM Informix
·
SQLite
·
Sybase ASE
·
Paradox
·
dBase
Pero existen algunas ventajas
y desventajas que los hace diferentes para la gestión de la base de datos.
Estas diferencias son importantes para las grandes organizaciones y empresas
pequeñas elegir el de mayor beneficio, confiabilidad y seguridad en la
administración de los datos.
Analizaremos las ventajas y
desventajas de Microsoft SQL Server, Oracle DB y MySQL Server, por ser los más
usados y los más comunes.
MySQL server a diferencia de
Microsoft SQL server es un servidor multi-hilo popular de base de datos de
código abierto, confiable, compacto, poderoso y multiplataforma, podemos hacer
las bases de datos a código abierto, una gran ventaja es que se puede utilizar
gratis y su código fuente esta siempre disponible.
Las principales ventajas de
MySQL Server son:
·
Software gratuito.
·
La velocidad y
robustez.
·
Multiproceso, es decir
que puede usar varias CPU si éstas están disponibles.
·
Multiplataforma, es
decir que puede trabajar en distintos Sistemas Operativos.
·
Sistema de contraseñas
y privilegios muy flexibles y seguros.
·
Microsoft SQL server
constituye la alternativa de Microsoft a otros potentes sistemas gestores de
bases de datos como son Oracle, Sybase ASE, PostgreSQL, Interbase, Firebird o
MySQL
·
Soporte de
transacciones.
·
Escalabilidad,
estabilidad y seguridad.
·
Soporta procedimientos
almacenados.
·
Permite trabajar en
modo cliente-servidor, donde la información y datos se alojan en el
servidor y las terminales o clientes de la red sólo acceden a la
información.
·
Además permite
administrar información de otros servidores de datos.
·
Una desventaja de SQL
Server es que es costoso.
·
Oracle es un sistema
desarrollado por Oracle Corporation. Se considera a Oracle como uno de los
sistemas de bases de datos más completos.
Las principales ventajas son:
·
Soporte de
transacciones.
·
Estabilidad.
·
Escalabilidad.
·
Soporte
multiplataforma.
·
Una desventaja de este
son las políticas de seguridad en el suministro de parches de actualización
Suscribirse a:
Comentarios (Atom)
