Está en la página 1de 22

NOMBRE: VILLAGRAN VELAZQUEZ ELMER ALEJANDRO

MATRICULA: 94520

GRUPO: K050

ACTIVIDAD DE APRENDIZAJE…1 BASES DE DATOS

MATERIA: BASES DE DATOS 1

DOCENTE: MARIA DEL CARMEN


ESTEE TAIBO CANO
CIUDAD DE MEXICO A 02 DE JULIO 2019
BASES DE DATOS

1. INTRODUCCIÓN:

Esta es la tarea número uno de la materia, en ella identificaremos y describiremos


tres tipos de bases de datos, las cuales son: MySQL, PostgreSQL y Oracle.

Describiendo los componentes y características de cada uno de ellos, el tipo de


modelo de base de datos que utilizan, el tipo de tablas, objetos, usuarios, tamaño máximo
de la base de datos y las características que son necesarias para ser implantada por
alguna empresa comercial.

2. MySQL.

MySQL es un sistema de manejo, creación y gestión de base de datos open


source que cuenta con un completo sistema multihilo, que ofrece un soporte completo
para diferentes formas de manera eficiente y veloz, permitiendo acceder a todos los
campos que resguardan los datos de trabajo.

COMPONENTES:

El servidor MySQL opera en un ambiente de red donde interoperan clientes con


servidores. Los clientes y servidores funcionan o son hospedados en ordenadores a los
cuales se los llama anfitriones. El anfitrión, entonces, es el conjunto de componentes
electrónicos que conforman el ordenador lo cuales son controlados por un sistema
operativo. Los componentes clientes y servidores son los programas que operan en los
anfitriones para darnos un servicio. En este caso, los servidores y clientes nos
proporcionan el servicio de una base de datos.

La base de datos MySQL contiene los siguientes componentes:

 mysqld: es el corazón de MySQL. Es el programa servidor el cual proporciona las


bases de datos que se encuentran en memoria o en el disco duro. En los sistemas
operativos Windows NT, 2000 o XP el servidor MySQL son los programas mysqld-nt o
mysql-max-nt. Este último provee soporte para tablas BDB.
Entre los clientes tenemos:

 MySQLCC: Ésta interfaz gráfica permite controlar todos los aspectos del servidor
MySQL. Permite crear bases de datos, tablas, usuarios, cambiar permisos, acceder y
cambiar la información almacenada, etc., de una forma muy intuitiva y muy fácil. Tiene
todas las opciones y tiene mejoras de la interfaz de texto mysql. Ésta aplicación debe
ser descargada independientemente.
 mysql: Ésta interfaz de texto permite también controlar todos los aspectos del servidor
pero la interfaz es solamente texto. Permite leer instrucciones del usuario por medio
del teclado como también puede leer archivos que contienen instrucciones. Ésta es la
aplicación más usada por los programadores para controlar la base de datos. Son
aplicaciones de texto que funcionan en la consola.
 mysqlimport permite importar datos a través de archivos de texto. Provee una interfaz
de texto para los comandos LOAD, DATA, INFILE.
 mysqldump permite hacer copias o respaldos de la información almacenada para
restaurarlos en el mismo servidor o para exportarlo a otros servidores.
 mysqladmin permite administrar el servidor con una interfaz gráfica y de una forma
muy sencilla
 mysqlcheck permite revisar la salud de la base de datos. Permite también reparar
dichas bases si fuera necesario.

Aplicaciones que trabajan independientemente del servidor MySQL

 myisamchk revisa las tablas y realiza operaciones de reparación.


 myisampack crea versiones comprimidas de solo-lectura de tablas MyISAM

CARACTERÍSTICAS:

 Cuenta con la capacidad de realizar tareas multiprocesador, debido a que posee la


opción de trabajo multihilo.
 Puede ingresar una gran cantidad de datos por columna de trabajo.
 Cuenta con API´s disponibles para los principales lenguajes de programación que
existen.
 Aplicación con una portabilidad sobresaliente.
 Capacidad de soportar hasta 32 índices de tablas diferentes.
 Alto nivel de seguridad que permite gestionar varios usuarios con login y contraseñas
individuales.

TIPO DE MODELO DE BASE DE DATOS:

Utiliza el modelo relacional, que es un modelo de datos basado en la lógica de


predicados y en la teoría de conjuntos.

TIPO DE TABLAS, OBJETOS, USUARIOS, TAMAÑO MÁXIMO DE LA BASE DE DATOS


Y CARACTERÍSTICAS NECESARIAS PARA SER IMPLANTADA EN UNA EMPRESA
COMERCIAL.

Cada vez que tengamos que crear una tabla que sirva para almacenar datos de
una aplicación Web, debemos poner a prueba nuestra capacidad para definir los tipos de
datos que con mayor eficiencia puedan almacenar cada dato que necesitemos guardar.

Los campos de las tablas MySQL nos dan la posibilidad de elegir entre tres grandes tipos
de contenidos:

 Datos numéricos,
 Datos para guardar cadenas de caracteres (alfanuméricos) y
 Datos para almacenar fechas y horas.

Datos numéricos

La diferencia entre uno y otro tipo de dato es simplemente el rango de valores


que puede contener.

Dentro de los datos numéricos, podemos distinguir dos grandes ramas: enteros y
decimales.

Las opciones que tenemos para almacenar datos que sean numéricos enteros
(edades, cantidades, magnitudes sin decimales), son las opciones siguientes (Figura 1):
Figura 1. Opciones para almacenar datos numéricos enteros en MySQL.

Valores sin signo

Existe la posibilidad de duplicar el límite de valor máximo positivo de cada tipo de


dato, si eliminamos la posibilidad de almacenar valores negativos (Figura 2).

Figura 2. Opciones para almacenar datos numéricos enteros en MySQL sin


valores negativos.

Números con decimales

Estos tipos de datos son necesarios para almacenar precios, salarios, importes de
cuentas bancarias, etc. que no son enteros.

Tenemos que tener en cuenta que si bien estos tipos de datos se llaman "de coma
flotante", por ser la coma el separador entre la parte entera y la parte decimal, en realidad
MySQL los almacena usando un punto como separador.

En esta categoría, disponemos de tres tipos de datos: FLOAT, DOUBLE y


DECIMAL.
La estructura con la que podemos declarar un campo FLOAT implica definir dos
valores: la longitud total (incluyendo los decimales y la coma), y cuántos de estos dígitos
son la parte decimal. Por ejemplo:

FLOAT (6.2)

La cantidad de decimales (el segundo número entre los paréntesis) debe estar
entre 0 y 24, ya que ése es el rango de precisión simple.

En cambio, en el tipo de dato DOUBLE, al ser de doble precisión, sólo permite que
la cantidad de decimales se defina entre 25 y 53.

Debido a que los cálculos entre campos en MySQL se realizan con doble precisión
(la utilizada por DOUBLE) usar FLOAT, que es de simple precisión, puede traer
problemas de redondeo y pérdida de los decimales restantes.

Por último, DECIMAL es ideal para almacenar valores monetarios, donde se


requiera menor longitud, pero la "máxima exactitud" (sin redondeos).

Este tipo de dato le asigna un ancho fijo a la cifra que almacenará.

El máximo de dígitos totales para este tipo de dato es de 64, de los cuales 30 es el
número de decimales máximo permitido. Más que suficientes para almacenar precios,
salarios y monedas.

Datos alfanuméricos

Para almacenar datos alfanuméricos (cadenas de caracteres) en MySQL


poseemos los siguientes tipos de datos:

 CHAR
 VARCHAR
 BINARY
 VARBINARY
 TINYBLOB
 TINYTEXT
 BLOB
 TEXT
 MEDIUMBLOB
 MEDIUMTEXT
 LONGBLOB
 LONGTEX
 ENUM
 SET

Datos de fecha y hora.

En MySQL, poseemos varias opciones para almacenar datos referidos a fechas y


horas.

DATE

El tipo de dato DATE nos permite almacenar fechas en el formato: AAAA-MM-DD


(los cuatro primeros dígitos para el año, los dos siguientes para el mes, y los últimos dos
para el día).

DATETIME

Un campo definido como DATETIME nos permitirá almacenar información acerca


de un instante de tiempo, pero no sólo la fecha sino también su horario, en el formato:

AAAA-MM-DD HH:MM:SS

TIME

Este tipo de cambio permite almacenar horas, minutos y segundos, en el formato


HH:MM:SS, y su rango permitido va desde -839:59:59 hasta 839:59:59 (unos 35 días
hacia atrás y hacia adelante de la fecha actual). Esto lo hace ideal para calcular tiempos
transcurridos entre dos momentos cercanos.
TIMESTAMP

Un campo que tenga definido el tipo de dato TIMESTAMP sirve para almacenar
una fecha y un horario, de manera similar a DATETIME, pero su formato y rango de
valores serán diferentes.

El formato de un campo TIMESTAMP puede variar entre tres opciones:

AAAA-MM-DD HH:MM:SS

AAAA-MM-DD

AA-MM-DD

YEAR

En caso de definir un campo como YEAR, podremos almacenar un año, tanto


utilizando dos como cuatro dígitos.

El usuario 'root', es el administrador, y dispone de todos los privilegios disponibles


en MySQL.

Sin embargo, normalmente no será una buena práctica dejar que todos los
usuarios con acceso al servidor tengan todos los privilegios. Para conservar la integridad
de los datos y de las estructuras será conveniente que sólo algunos usuarios puedan
realizar determinadas tareas, y que otras, que requieren mayor conocimiento sobre las
estructuras de bases de datos y tablas, sólo puedan realizarse por un número limitado y
controlado de usuarios.

Los conceptos de usuarios y privilegios están íntimamente relacionados. No se


pueden crear usuarios sin asignarle al mismo tiempo privilegios. De hecho, la necesidad
de crear usuarios está ligada a la necesidad de limitar las acciones que tales usuarios
pueden llevar a cabo.

MySQL permite definir diferentes usuarios, y además, asignar a cada uno


determinados privilegios en distintos niveles o categorías de ellos.
En MySQL existen cinco niveles distintos de privilegios:

Globales: se aplican al conjunto de todas las bases de datos en un servidor. Es el


nivel más alto de privilegio, en el sentido de que su ámbito es el más general.

De base de datos: se refieren a bases de datos individuales, y por extensión, a


todos los objetos que contiene cada base de datos.

De tabla: se aplican a tablas individuales, y por lo tanto, a todas las columnas de


esas tabla.

De columna: se aplican a una columna en una tabla concreta.

De rutina: se aplican a los procedimientos almacenados. Aún no hemos visto nada


sobre este tema, pero en MySQL se pueden almacenar procedimientos consistentes en
varias consultas SQL.

En MySQL 5.0, usando el motor de almacenamiento MyISAM, el máximo tamaño


de las tablas es de 65536 terabytes (256 ^ 7 - 1 bytes). Por lo tanto, el tamaño efectivo
máximo para las bases de datos en MySQL usualmente los determinan los límites de
tamaño de ficheros del sistema operativo, y no por límites internos de MySQL.

Para implementar MySQL en una empresa comercial se necesita definir la función


por la cual es necesario el uso de esta base de datos, no debemos olvidar que esta BD es
open source, la empresa deberá pagar un licenciamiento acorde a sus necesidades y
contratar personal especializado en el manejo de este tipo de bases de datos, estas son
utilizadas regularmente en PYMES, para guardar datos de clientes, empleados e
inventarios. Ejemplos de empresas que utilizan estas bases de datos son: YouTube,
twitter, Facebook y google.
3. PostgreSQL.

PostgreSQL es un sistema de gestión de bases de datos relacional orientado a


objetos y libre, publicado bajo la licencia PostgreSQL, similar a la BSD o la MIT.

Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no


es manejado por una empresa o persona, sino que es dirigido por una comunidad de
desarrolladores que trabajan de forma desinteresada, altruista, libre o apoyados por
organizaciones comerciales. Dicha comunidad es denominada el PGDG (PostgreSQL
Global Development Group).

PostgreSQL no tiene un gestor de defectos, haciendo muy difícil conocer el estado


de sus defectos.

CARACTERÍSTICAS:

La última serie de producción es la 9.1. Sus características técnicas la hacen una


de las bases de datos más potentes y robustas del mercado. Su desarrollo comenzó hace
más de 16 años, y durante este tiempo, estabilidad, potencia, robustez, facilidad de
administración e implementación de estándares han sido las características que más se
han tenido en cuenta durante su desarrollo. PostgreSQL funciona muy bien con grandes
cantidades de datos y una alta concurrencia de usuarios accediendo a la vez al sistema.

Algunas de las características generales más importantes y soportadas por


PostgreSQL son:

 Es una base de datos 100% ACID.


 Soporta distintos tipos de datos: además del soporte para los tipos base, también
soporta datos de tipo fecha, monetarios, elementos gráficos, datos sobre redes (MAC,
IP...), cadenas de bits, etc. También permite la creación de tipos propios.
 Incluye herencia entre tablas, por lo que a este gestor de bases de datos se le incluye
entre los gestores objeto-relacionales.
 Copias de seguridad en caliente (Online/hot backups)
 Unicode
 Juegos de caracteres internacionales
 Regionalización por columna
 Multi-Version Concurrency Control (MVCC)
 Múltiples métodos de autentificación
 Acceso encriptado vía SSL
 SE-postgres
 Completa documentación
 Licencia BSD
 Disponible para Linux y UNIX en todas sus variantes (AIX, BSD, HP-UX, SGI IRIX,
Mac OS X, Solaris, Tru64) y Windows 32/64bit.

COMPONENTES:

El Libpq es el responsable de manipular las comunicaciones entre la aplicación


cliente y el postmaster (servicio del PostgreSQL en el servidor).

El server está compuesto por 2 grandes subsistemas, el “Postmaster” que es el


responsable de aceptar las comunicaciones con el cliente y autentificar y dar acceso. El
“Postgre” se encarga de la administración de los querys y comandos enviados por el
cliente. PostgreSQL trabaja bajo el concepto de “process per user”, eso significa un solo
procesos cliente por conexión. Tanto el Postmaster como el Postgre deben estar juntos en
el mismo servidor siempre.

El Storage Manager es responsable de la administración general de


almacenamiento de los datos, controla todos los trabajos del back-end incluido la
administración del buffer, archivos, bloqueos y control de la consistencia de la
información.

TIPO DE TABLAS, OBJETOS, USUARIOS, TAMAÑO MÁXIMO DE LA BASE DE DATOS


Y CARACTERÍSTICAS NECESARIAS PARA SER IMPLANTADA EN UNA EMPRESA
COMERCIAL.

El tamaño de una página en PostgreSQL puede ser tan pequeño como 8k (por
defecto) hasta un máximo de 32k y no se permite que un tupla pueda ser más grande que
una página de tamaño.
Cuando se necesita guardar data muy grande (un video por ejemplo) la data es
comprimida y partida en pequeñas “filas” que se guardan en una tabla paralela, esto es
transparente para el usuario.

Las páginas contienen “items” los cuales apuntan a tuplas o entradas de índices
junto con metadata. Para el caso de PostgreSQL las operaciones de R/W primero se
consulta al Buffer Manager (memoria RAM) si contiene la página.

PostgreSQL posee un solo “Storage Manager” (MySql tiene 5 o más por ejemplo),
este está compuesto por varios módulos que proveen administración de las transacciones
y acceso a los objetos de la base de datos. Los módulos se programaron bajo 3
lineamientos bien claros:

 Manejar transacciones sin necesidad de escribir código complejo de recuperación en


caso de caídas.
 Mantener versiones históricas de la data bajo el concepto de “graba una vez, lee
muchas veces”.
 Tomar las ventajas que ofrece el hardware especializado como multiprocesadores,
memoria no volátil, etc.

Los módulos que componen el Storage Manager son:

 Transaction System
 Relational Storage
 Time Management
 Concurrency Control y Timestamp Management

Record Acces PostgreSQL siempre está añadiendo data, la data modificada o borrada
realmente no se modifica o se borra, las páginas donde ellas están almacenadas se
marca como “no visible” y se inserta un nuevo registro completo con un clon de toda la
data (como se maneja esto en detalle se explica más adelante). Esto hace que la base de
datos ocupe mucho espacio y afecta el “tiempo de acceso” a la data.
Existe un “tiempo de acceso” para llegar a la data (sea read o write) que depende de:

 Tiempo de búsqueda del OS en mover los brazos del disco duro.


 Tiempo de rotación de los discos para que el brazo encuentre la posición física
donde está la data.
 Tiempo de transferencia de R/W de la data del disco a la memoria.

Hay que buscar que reducir este tiempo para que el acceso a la data sea más rápido.

Cada tipo de búsqueda tienen un tipo de índice adecuado para trabajarla, básicamente un
índice es un “archivo” donde esta parte de la data y estructura de una tabla con las
“search key” de búsqueda.

La forma clásica es buscar por extremos y medios (búsqueda binaria), pero esto hace que
sea altamente costosa la búsqueda, entonces es preferible organizar los índices en
estructuras más eficientes como los árboles.

El control de concurrencia es el que asegura que muchos usuarios puedan acceder a la


data al mismo tiempo. Sin embargo al mismo tiempo se producen muchas operaciones de
R/W, estas operaciones se conocen como transacciones. Ninguna transacción debe ver el
resultado de otras transacciones inconclusas, si esto no fuera así estaríamos leyendo
datos inconsistentes. Una transacción puede incluir dentro de sí muchas operaciones en
la base de datos.

Las transacciones deben cumplir el criterio ACID.

 Consistency: la transacción solo termina si la data es consistente.


 Isolation: la transacción es independiente de otras transacciones.
 Atomicity: todas las acciones en la transacción se cumplen o no se cumple ninguna.
 Durability: cuando la transacción termina el resultado de la misma es perdurable.

PostgreSQL implementa el modelo MVCC (Multiversion Concurrency Control) desde la


8.3.
Bajo MVCC las transacciones ven una imagen de la data al momento de iniciarla (para
ello la data se versiona con un timestamp), esto protege la transacción de inconsistencia
de data cuando llegan 2 operaciones de R/ W sobre la misma.

En simple el MVCC nunca modifica o elimina la data, nuevas filas de información de van
añadiendo conforme se crea o actualiza la data y se marca la anterior como “no visible”,
cuando se desea eliminar un dato igualmente se añade una fila de data y se marca como
“no visible” al mismo tiempo.

La data nunca es “visible” por otros usuarios hasta que no sea “commiteada”.

La principal ventaja es que las operaciones de R nunca bloquean a las de W, y viceversa,


podemos obtener backups en caliente sin bloquear la db.

Como desventaja: consumimos más disco duro.

Cuando 2 transacciones trabajan sobre el mismo objeto y al menos uno de ellos incluye
operaciones de escritura entonces se produce un “conflicto”. Cuando 2 transacciones
hacen exactamente lo mismo puede que sean “serializadas” para optimizar el acceso a la
data.

Antes de que una transacción pueda ejecutar un R/W sobre un objeto en la db debe
obtener un “bloqueo”. Este bloqueo puede ser Compartido (Share) o Exclusivo
(Exclusive), estos son administrador por un “Lock Manager”.

Figura 3. Tipos de bloqueos en PostgreSQL.


Si un bloqueo toma mucho tiempo en ejecutarse entonces se produce un Deadlock, el
sistema lo muestra como un Timeout. Un bloqueo puede darse a una tupla, una página o
una tabla completa. Existe una tabla de locks, antes de ejecutar uno nuevo se consulta
esta tabla.

El manejo de roles en PostgreSQL permite diferentes configuraciones, entre ellas están:

 SUPERUSER/NOSUPERUSER. Súper usuario, privilegios para crear bases de datos


y usuarios.
 CREATEDB/NOCREATEDB. Permite crear bases de datos.
 CREATEROLE/NOCREATEROLE. Permite crear roles.
 CREATEUSER/NOCREATEUSER. Permite crear usuarios.
 LOGIN/NOLOGIN. Este atributo hace la diferencia entre un rol y usuario. Ya que el
usuario tiene permisos para acceder a la base de datos a través de un cliente.
 PASSWORD. Permite alterar la contraseña.
 VALID UNTIL. Expiración de usuarios.

El permiso de súper usuario es el más alto. Con este usuario se podrán administrar todos
los objetos del motor de base de datos.

PostgreSQL no es muy utilizada en empresas comerciales debido a que no cuenta con


soporte técnico obligatorio. Requiere mucha especialización y responsables con un alto
grado de especialización en este tipo de bases de datos. Su carácter de libre, la hace
parecer más dirigida para el aprendizaje en universidades o adaptación a PYMES.

4. Oracle.

Oracle es básicamente un herramienta cliente/servidor para la gestión de base de datos,


es un producto vendido a nivel mundial, aunque la gran potencia que tiene y su elevado
precio hace que solo se vea en empresas muy grandes y multinacionales, por norma
general.

En el desarrollo de páginas Web pasa lo mismo como es un sistema muy caro no está tan
extendido como otras bases de datos, por ejemplo, Access, MySQL, SQL Server etc.
COMPONENTES:

 Oracle server.
 Instancia Oracle
 Base de datos Oracle
 Procesos de usuario y de servidor
 Otros archivos clave
 Otros procesos

Oracle Server es la clave para la gestión de la información. Por regla general, Oracle
Server debe gestionar grandes cantidades de datos en un entorno para varios usuarios de
forma fiable, de modo que muchos usuarios puedan acceder de forma simultánea a los
mismos datos. Al mismo tiempo, es necesario que el rendimiento obtenido sea excelente.
Oracle Server también debe impedir el acceso no autorizado y proporcionar soluciones
eficaces para la recuperación en caso de fallo.

Una instancia Oracle es un medio de acceso a una base de datos Oracle por la que
siempre abre una única base de datos, la cual está formada por estructuras de procesos
en segundo plano y de memoria. Una instancia Oracle se compone de la estructura de la
memoria SGA (Área Global del Sistema) y de los procesos en segundo plano que se
utilizan para gestionar una base de datos.

Establecimiento de una Conexión y Creación de una Sesión

Base de Datos Oracle: El objetivo general de una base de datos es el de almacenar y


recuperar la información relacionada. Una base de datos Oracle tiene una estructura
lógica y una física. La estructura física de la base de datos es el juego de archivos del
sistema operativo en la base de datos.

La estructura física incluye tres tipos de archivos: Archivos de control, Archivos de datos y
Archivos redo log online

La estructura de la memoria de Oracle está formada por dos áreas de memoria llamadas:
SGA (Área Global del Sistema): Asignada al iniciar la instancia y componente fundamental
de una instancia Oracle y PGA (Área Global de Programas): Asignada al iniciar el proceso
de servidor.
Diferencias en la Asignación de Memoria entre Servidores Dedicados y Servidores
Compartidos.

Oracle se beneficia de varios tipos de procesos: los procesos de usuario se inician cuando
un usuario de base de datos solicita una conexión a Oracle Server. Procesos de servidor:
Se conectan a la instancia Oracle y se inician cuando un usuario establece una sesión.
Procesos en segundo plano: Se inician al iniciar una instancia Oracle.

ESTRUCTURA DE PROCESOS, Procesos de Usuario, Procesos de Servidor y Procesos


en Segundo Plano.

Archivado de los Archivos Redo Log Online. Modo NOARCHIVELOG: En este modo, los
archivos redo log online se sobrescriben cada vez que se produce un cambio de log.
LGWR no sobrescribirá un grupo de archivos redo log online hasta que el punto de control
se haya terminado para ese grupo. Esto asegura que los datos validados se puedan
recuperar si se produce un error de instancia. Durante el error de instancia, sólo se pierde
el SGA. No hay pérdida de discos, sólo de memoria. Por ejemplo, un error del sistema
operativo provoca un error de instancia. Modo ARCHIVELOG: En caso de que la base de
datos se configure para que se ejecute en modo ARCHIVELOG, será necesario archivar
los grupos inactivos de archivos redo log online llenos antes de que se puedan volver a
utilizar de nuevo. Dado que los cambios efectuados en la base de datos se registran en
los archivos redo log online, el administrador de la base de datos puede utilizar la copia de
seguridad física de los archivos de datos y los archivos redo log online archivados para
recuperar la base de datos sin perder ninguno de los datos validados debido a un solo
punto de fallo, incluida la pérdida de un disco. Normalmente, se suele configurar una base
de datos de producción para que se ejecute en modo ARCHIVELOG.

Estructura Lógica. Existe la siguiente jerarquía de estructuras lógicas: Una base de datos
Oracle contiene como mínimo un tablespace. Un tablespace contiene uno o más
segmentos. Cada segmento está formado por extensiones. Una extensión está formada
por bloques lógicos. Un bloque es la unidad más pequeña para las operaciones de lectura
y escritura.
Arquitectura. La arquitectura de la base de datos Oracle incluye las estructuras físicas y
lógicas que conforman la base de datos. La estructura física incluye archivos de control,
archivos redo log online y archivos de datos que conforman la base de datos.

La estructura lógica incluye tablespaces, segmentos, extensiones y bloques de datos.


Estructura Lógica

Tablespaces: Los datos de una base de datos Oracle se almacenan en tablespaces.


Extensiones: El espacio se asigna a un segmento mediante extensiones.
Bloques de Datos: Oracle Server gestiona el espacio de almacenamiento de los archivos
de datos en unidades llamadas bloques Oracle o bloques de datos.

CARACTERÍSTICAS:

La base de datos de Oracle 10G Standar Edition es compatible con medianas industrias.
Esto incluye Real Aplication Clúster, para crear protección en contra de fallos de
hardware. Es muy sencillo de instalar y configurar, y viene con su propio software de
clustering.

La base de datos Oracle 10g Standar Edition, proporciona una rápida instalación sin
contratiempos tanto en un único servidor como en un ambiente de clúster.

La base de datos está pre configurada lista para ser usada en producción, completa con
espacio automatizado, administración de almacenamiento y de memoria, Back-up y
recuperación automatizada y administrador de estadísticas automatizado.

La consola de Enterprise Manager 10g data base control provee una interface web que te
enseña el estado actual de la base de datos y del ambiente del clúster y permite la
administración de la base de datos desde cualquier browser conectado a su sistema

La base de datos Oracle Standar Edition toma ventaja también de la solución de


clusterware, apartando la complejidad de tener que instalar y configurar clusterware de
terceras personas
Oracle es la base de datos número uno del mercado ya que posee la capacidad de
soportar todos los datos relacionales estándares, así como también datos oriundos como
XLM, XQuery y WebDAV, JDBC, SQLJ, ODBC.Net, OLE.Net, ODP.Net

Los procedimientos almacenados pueden ser escritos en java PL SQL o utilizando .Net
CLR Support en Oracle Database 10g Release Dos.

La base de datos Oracle Standar Edition, usa las mismas gestiones de concurrencia que
son usadas por la base de datos de Oracle Enterprise Edition, asegurando así el máximo
rendimiento para todas las cargas de trabajo.

TIPO DE TABLAS, OBJETOS, USUARIOS, TAMAÑO MÁXIMO DE LA BASE DE DATOS


Y CARACTERÍSTICAS NECESARIAS PARA SER IMPLANTADA EN UNA EMPRESA
COMERCIAL.

Tipos de Tablas:

Regulares. Forma comúnmente usada para almacenar los datos.


Tipo por defecto. Se tiene muy poco control sobre la distribución de las filas de la tabla en
su almacenamiento físico: Particionadas. Organizadas por Índices. Agrupadas
(clusterizadas).

Convenciones de nombres. El nombre debe ser tan descriptivo como sea posible: Hasta
30 caracteres. Debe empezar por una letra. Puede contener letras, números y caracteres
especiales ($, # Y _) Se puede documentar añadiendo comentarios: COMMENT ON
TABLE MITABLA IS ‘Este es un comentario ’; COMMENT ON COLUMN
MITABLA.COLUMN1 “Este es un comentario”.

Operaciones con las tablas. DROP TABLE… Borrar, ALTER TABLE… Modificar,
CREATE TABLE… Crear Sentencia Operación

Crear tablas. La sentencia básica es: CREATE TABLE nombre_tabla (nombre_columna


TIPO, {nombre_columna TIPO}); EJEMPLO: CREATE TABLE empleado (nombre
VARCHAR(20), id INTEGER); Dentro de la sintaxis de la creación de tablas hay las
siguientes opciones interesantes para comentar: TABLESPACE, STORAGE, PCTUSED /
PCTFREE.
Crear tablas. Cláusula STORAGE. Las opciones que se pueden definir en esta cláusula
son: STORAGE( INITIAL entero{K|M} NEXT entero{K|M} {MINEXTENTS entero}
{MAXEXTENTS entero|UNLIMITED} {PCTINCREASE %entero} ). Tamaño de los bloques:
Atributo Mínimo Máximo Defecto INITIAL 2 bloques * 5 bloques NEXT 1 bloque *

PCTUSED y PCTFREE. Controlan el espacio libre para inserciones y eliminaciones de


filas en los bloques de un segmento. PCTFREE: Valor por defecto 10. En cualquier otro
caso: PCTFREE=100*upd/(upd + ins). PCTUSED: Valor por defecto 40. PCTUSED=100-
(PCTFREE +100*upd/blocksize) + 100ins/blocksize. Tablas en Oracle PCTUSED +
PCTFREE < 100 !!!

PCTUSED y PCTFREE: Ejemplo. Después que un bloque se llena hasta el l ím i te


permitido por PCTFREE, Oracle considera que el bloque no está disponible para la
inserción de nuevas filas hasta que el porcentaje del bloque no cae por debajo del
parámetro PCTUSED.

Modificar tablas. Para modificar tablas se utiliza ALTER TABLE. EJEMPLOS: ALTER
TABLE empleado PCTUSED 30, PCTFREE 60; ALTER TABLE empleado DROP
ANUDES COLUMNAS; Esta sentencia elimina las columnas no utilizadas. ALTER TABLE
empleado ADD CONSTRAINT salesrep_pk PRIMARY KEY (id); Añade una clave primaria
en la columna id.

Borrar tablas. Para borrar una tabla se utiliza DROP TABLE. EJEMPLO: DROP TABLE
[usuario .] empleado [CASCADE CONSTRAINTS].

El siguiente es un resumen de algunas consideraciones al momento de crear un usuario o


cuenta en Oracle, y los privilegios y roles que le podemos asignar.

El nombre de usuario no debe superar 30 caracteres, no debe tener caracteres especiales


y debe iniciar con una letra.

Un método de autentificación. El más común es una clave o password, pero Oracle 10g
soporta otros métodos (como biometric, certificado y autentificación por medio de token).

Un Tablespace default, el cual es donde el usuario va a poder crear sus objetos por
defecto, sin embargo, esto no significa que pueda crear objetos, o que tenga una cuota de
espacio. Estos permisos se asignan de forma separada, salvo si utiliza el privilegio
RESOURCE el que asigna una quota unlimited, incluso en el Tablespace SYSTEM! Sin
embargo si esto ocurre, ud. puede posteriormente mover los objetos creados en el
SYSTEM a otro Tablespace.

Un Tablespace temporal, donde el usuario crea sus objetos temporales y hace los sort u
ordenamientos.

Un perfil o profile de usuario, que son las restricciones que puede tener su cuenta
(opcional).

En Oracle existen 2 tipos de privilegios de usuarios: System y Object.

Esta BD cuenta con toda la infraestructura y características para ser implementada en una
empresa comercial.

5. ¿Cuál de las 3 bases de datos sería utilizada para implementarla en


una empresa comercial?

Después de investigar sobre estas tres bases de datos, llegué a la conclusión de que las
tres bases de datos cumplen con su función a la perfección, por lo tanto, las tres son
aptas para ser implementadas en una empresa comercial.

La decisión de cuál de ellas utilizar no suele depender de consideraciones técnicas. Lo


que provoca el cuestionamiento de cual base de datos utilizar, son los factores
característicos de la empresa, si esta es pequeña, mediana, grande, multinacional, etc., y
el área en el que la piensan utilizar, así como, la finalidad de su implementación.

Por ejemplo, una empresa como una tienda de autoservicio, podría utilizar la BD para
control de ventas, código de barra y almacén, mientras una empresa de viajes nacionales,
utilizaría la BD para llevar un control de los horarios y destinos. Una entidad bancaria
utilizaría una BD para control de cuentas y depósitos, etc.

PostgreSQL actualmente se podría implementar en una pequeña empresa para control de


producción, de personal de trabajadores, almacén, ventas, pero en escalas pequeñas,
debido a su naturaleza de software libre, requiere de un especialista en este tipo de base
de datos.

MySQL puede ser implementada por pequeñas y medianas empresas para las mismas
funciones antes citadas en PostgreSQL, la única diferencia es que en dado momento se
puede comprar la licencia. Pero aun así se necesita personal especializado para el
manejo de este tipo de bases de datos.

Oracle es una BD intuitiva, cabe mencionar que es un software propietario, por lo cual es
necesario pagar para poder utilizarlo y con ello vienen beneficios muy atractivos para
cualquier empresa plenamente consolidada, como lo es, el anexo de herramientas Oracle
en un mismo paquete lo cual simplifica el trabajo y la más importante de todas, siempre
hay alguien responsable de la BD, siempre hay asesoría en caso de fallos y una garantía
de solución de errores. Por este hecho grandes empresas en la actualidad, optan por el
uso de esta BD, ya que sus servidores privados que son los que les proveen el servicio,
no pueden ser comparados con un servidor gratuito de Linux, que si por alguna extraña
razón falla, no habrá nadie responsable por la falta del servicio.

5. BIBLIOGRAFÍA.

Celma Giménez, M. C. (2003). Bases de datos relacionales. Madrid, España: Pearson Educación.

Ezequiel Rozic, S. (2004). Bases de datos y su aplicación. Argentina: MP Ediciones .

Johnson, J. (2000). Base de datos. Modelos, lenguajes, diseño. México : Oxford University Press
México.

Silberschatz, A. K. (2006). Fundamentos de bases de datos. Madrid, España: McGraw-


HillInteramericana de España.