You are on page 1of 37

Quienes Somos

Cima nace a fines del ao 2004 con el fin de ofrecer soluciones estratgicas en el desarrollo e integracin de aplicaciones del software. Contamos con un grupo de profesionales especializados en diferentes reas disponiendo as de una red de conocimiento que posibilita la bsqueda de soluciones informticas integrales adaptadas a las necesidades de cada cliente. Cima dedica constantemente de Base esfuerzos a la investigacin y Conceptos parte de sus de Datos anlisis de tecnologas emergentes con el fin de poder aplicarlas de forma efectiva.

Qu es una base de datos?

Es un programa residente en memoria, que se encarga de gestionar todo el tratamiento de entrada, salida, proteccin y elaboracin de la informacin que almacena. El corazn de una base de datos es el motor, que es el programa que debe estar ejecutndose en una mquina para gestionar los datos. Adems existen los archivos con datos y otras utilidades auxiliares, como programas para realizar copias de seguridad, intrpretes SQL, etc.

Tipos de bases de datos

Desde el punto de vista de la organizacin lgica:


Jerrquicas. (Progress) Relacionales. (Oracle, Access, Sybase)

Desde el punto de vista de la arquitectura y el nmero de usuarios:


De escritorio (dBase, Access, Paradox) Cliente/servidor (Oracle, Sybase)

Bases de datos Oracle

Oracle es una base de datos relacional para entornos cliente/servidor:


Aplica las normas del lgebra relacional (conjuntos, uniones, intersecciones)

Utiliza la arquitectura cliente/servidor: en un lado de la red est el servidor con los datos y en el otro lado estn los clientes que interrogan al servidor

Funciones de las Bases de datos


a) Permitir la introduccin de datos por parte de los usuarios (o programadores).

b) Salida de datos.
c) Almacenamiento de datos. d) Proteccin de datos (seguridad e integridad).

e) Elaboracin de datos.

Componentes de las bases de datos


Motor: programa ejecutable que debe estar en memoria para manejar la base de datos. Si est ejecutndose, se dice que la base de datos est levantada (startup), sino la base de datos est bajada (shutdown). Servicio de red: programa que se encarga de establecer las conexiones y transmitir datos entre cliente y servidor o entre servidores. Listener (escuchador): programa residente en memoria que se encarga de recibir las llamadas que llegan a la base de datos desde la red, y de pasrselas a esta. Sin un listener, no se pueden recibir llamadas remotas. El listener se comunica con el servicio de red.

Componentes de las bases de datos

Componentes de las bases de datos


Utilidades: Programas de utilidad como pueden ser:
Intrpretes de consultas. Programas de administracin de base de datos. Programas de copia de seguridad. Monitores de rendimiento.

A todo el conjunto de la base de datos se le denomina RDBMS, Relational DataBase Manager System, es decir:
Sistema de gestin de bases de datos relacionales.

El Modelo Relacional Tablas


Una tabla es una estructura lgica que sirve para almacenar los datos de un mismo tipo. Desde el punto de vista conceptual, significa que cada entidad se almacena en estructuras separadas. Cada elemento almacenado dentro de la tabla recibe el nombre de registro o fila. Una tabla se compone de campos o columnas, que son conjuntos de datos del mismo tipo (desde el punto de vista fsico: numricos, alfanumricos, fechas; etc)

El Modelo Relacional Tablas

Estructura de una tabla

El Modelo Relacional ndices

Un ndice es una tabla paralela a otra principal que slo contiene la(s) columna(s) indicada(s) durante su creacin. Estas columnas se las denomina columnas indexadas.

Siempre que exista ndice, debe consultarse porque si no las bsquedas tomarn mucho tiempo.

El Modelo Relacional Formas Normales


Las formas normales son tres reglas que se deben tener un cuenta dentro del Anlisis conceptual, utilizando concretamente el mtodo Entidad/Relacin.
El proceso de aplicar las tres formas normales se llama normalizacin. Un diseo de base de datos que no cumpla la primera forma normal no ser correcto. Cuantas ms formas normales cumpla el diseo de base de datos, significar que la base de datos est ms correctamente analizada.

El Modelo Relacional Formas Normales


Primera forma normal Identificar cada tabla con una clave primaria, y poner los datos en tablas separadas, de manera que los datos de cada tabla sean de un tipo similar (desde el punto de vista conceptual) Segunda forma normal Sacar las columnas que slo dependen de una parte de la clave primaria a otra tabla. Tercera forma normal Incluir en cada tabla slo datos que pertenezcan a la misma unidad lgica.

El Modelo Relacional Concepto de Relacin


Se denomina relacin a todo aquellos vnculos que establecen unas tablas con otras, debidos a la aplicacin de las formas normales.

El Modelo Relacional Relacin 1-1


La relacin 1-1 se establece cuando un registro de la tabla A tiene un solo registro relacionado en la tabla B.
Desde el punto de vista conceptual, son necesarias y convenientes, para que se cumpla la tercera forma normal, y que en cada tabla slo aparezcan datos correspondientes a su nivel lgico.

Desde el punto de vista productivo y prctico, se puede sustituir por ms registros en la tabla principal. Ya que un registro de A solo puede tener un registro en B, entonces las columnas de B pueden entrar a formar parte de A.
Siempre es mejor separar los datos en distintas tablas, para ahorrar espacio y organizar mejor la informacin.

El Modelo Relacional Relacin 1-N

Una relacin 1-N es ms comn que 1-1, ya que, tanto desde el punto de vista conceptual, como desde el prctico, es necesario hacerlas.
Las relaciones 1-N tambin son llamadas normalmente maestro-detalle, donde el maestro es la tabla A y el detalle es la tabla B. Como norma general se puede decir que las columnas de la clave primaria de una tabla detalle tienen que ser las mismas que su maestro, aadiendo una o varias columnas a la clave.

Una relacin tpica maestro-detalle, es optativa en sentido A-B pero obligatoria en sentido B-A.

El Modelo Relacional Las Claves


Clave Primaria: es la columna (pueden ser dos o ms columnas) que identifica nicamente a esa fila. Claves candidatas: es la posible clave primaria. Clave fornea: es la columna que existiendo como dependiente en una tabla, es a su vez clave primaria en otra tabla. Clave alternativa: es la clave candidata que no ha sido seleccionada como clave primaria, pero que tambin puede identificar de forma nica a una fila dentro de una tabla.

Clave compuesta: es la que est compuesta por ms de una columna.

Estndar de nomenclatura de objetos


El equipo debe definir qu estndar de nomenclatura de objetos se va a utilizar. El objetivo principal de esta tarea es que el esquema sea consistente y homogneo, adems de permitir una memorizacin ms rpida de los objetos. El estndar debe ser un documento que tengan presente en todo momento el equipo de desarrollo,y siempre debe aplicarse salvo contadas excepciones

Capas Base de Datos Oracle La base de datos de Oracle tiene una capa lgica y otra fsica:
La capa fsica consiste de archivos que residen en el disco. Los componentes de la capa lgica son estructuras que mapean los datos hacia estos componentes fsicos.

Base de Datos Oracle: Capa Fsica Los archivos fsicos que se encuentran en los discos pueden ser de tres tipos diferentes:
Uno o ms datafiles: almacenan toda la informacin ingresada en una base de datos. Se puede tener uno solo o cientos de ellos. Varios objetos (tablas, ndices) pueden compartir varios datafiles. El nmero mximo de datafiles que pueden ser configurados est limitado por el parmetro de sistema MAXDATAFILES. Uno o ms control files: contienen informacin que se utiliza cuando se levanta una instancia, tal como la informacin de dnde se encuentran ubicados los datafiles y los archivos redo log. Estos archivos de control deben encontrarse siempre protegidos.

Base de Datos Oracle: Capa Fsica

Los archivos fsicos que se encuentran en los discos pueden ser de tres tipos diferentes:
Dos o ms archivos redo log (de deshacer): almacenan informacin que se utiliza para la recuperacin de una base de datos en caso de falla. Almacenan la historia de cambios efectuados sobre la base de datos y son particularmente tiles cuando se necesita corroborar si los cambios que la base de datos ya ha confirmado se han efectuado realmente en los datafiles.

Base de Datos Oracle: Capa Lgica

La capa lgica de una base de datos consta de los siguientes elementos:


Uno o ms tablespaces. El esquema de la base de datos (schema), que consiste de objetos como tablas, clusters, ndices, vistas, procedimientos almacenados, triggers, secuencias y otros.

Conceptos de almacenamiento en Oracle: Tablespace (espacio de tablas)


Es el nombre que se le da a un conjunto de propiedades de almacenamiento que se aplican a los objetos (tablas, secuencias) que se van a crear en la base de datos, no es un fichero fsico en el disco. Se utilizan para separar (en piezas lgicas) la informacin en grupos y as simplificar la administracin de los datos. Los tablespaces pueden ocupar uno o ms datafiles.

Un objeto en base de datos debe estar obligatoriamente dentro de un tablespace.

almacenado

Un tablespace puede estar en lnea o fuera de ella (Online o OffLine). Un objeto almacenado dentro de un tablespace no podr ser accedido si este est fuera de lnea

Conceptos de almacenamiento en Oracle: Tablespace (espacio de tablas)


Las propiedades que se asocian a un tablespace son:
Localizacin de los ficheros de datos. Especificacin de mximas cuotas de consumo de disco. Control de la disponibilidad de los datos (en lnea o fuera de lnea). Backup de datos.

El tablespace SYSTEM se crea por defecto en todas las bases de datos Oracle. All se almacenan todos los datos de sistema, el catlogo y el cdigo fuente y compilado de procedimientos PL/SQL. Tambin se puede utilizar el mismo tablespace para guardar datos de usuario

Conceptos de almacenamiento en Oracle: Datafile (fichero de datos)


Es la representacin fsica de un tablespace. Son los "ficheros de datos" donde se almacena la informacin fsicamente.

Tiene un tamao predefinido en su creacin (por ejemplo 100Mb) y este puede ser alterado en cualquier momento.
El datafile ocupar tanto espacio en disco como hayamos indicado en su creacin, aunque internamente est vaco. Oracle hace esto para reservar espacio continuo en disco y evitar la fragmentacin. Aunque siempre se dice que los objetos estn dentro del tablespace, en realidad las tablas estn dentro del datafile, pero tienen la propiedades asociadas al tablespace

Conceptos de almacenamiento en Oracle: Datafile (fichero de datos)


Tienen una propiedad llamada AUTOEXTEND, que si est activa, se encarga de que el datafile crezca automticamente (segn un tamao indicado) cada vez que se necesite espacio y no exista. Al igual que los tablespaces, los datafiles tambin puede estar en lnea o fuera de ella. Un datafile est asociado a un solo tablespace y, a su vez, un tablespace est asociado a uno o varios datafiles. Es decir, la relacin lgica entre tablespaces y datafiles es de 1-N, maestro-detalle.

Conceptos de almacenamiento en Oracle: Datafile (fichero de datos)

Conceptos de almacenamiento en Oracle: SEGMENTOS, EXTENSIONES Y BLOQUES


Bloques: es la unidad de almacenamiento ms chica en una base de datos Oracle. Contiene una pequea porcin de informacin (header) referente al bloque en s y el resto a los datos que guarda. Generalmente, ocupar aprox. 2 KB de espacio fsico en el disco (asignacin tpica).
Extensiones: Es un grupo de bloques de datos. Se establecen en un tamao fijo y crecen a medida que van almacenando ms datos. Tambin se pueden redimensionar para aprovechar mejor el espacio de almacenamiento. Segmentos: Es un grupo de extensiones utilizados para almacenar un tipo particular de datos. Existen 4 tipos de segmentos: datos, ndices, rollback y temporales.

Conceptos de almacenamiento en Oracle: SEGMENTOS, EXTENSIONES Y BLOQUES

Relacin entre bloques, extensiones y segmentos

Conceptos de almacenamiento en Oracle: Esquemas (Schemas) Un esquema es una coleccin de objetos lgicos, utilizados para organizar de manera ms comprensible la informacin y conocidos como objetos del esquema. Una breve descripcin de los objetos que lo componen es la siguiente:
Tabla: Es la unidad lgica bsica de almacenamiento que contiene filas y columnas (como una matriz) y se identifica por un nombre. Cluster: Es un grupo de tablas almacenadas en conjunto fsicamente como una sola tabla que comparten una columna en comn. Si a menudo se necesita recuperar datos de dos o ms tablas basado en un valor de la columna que tienen en comn, entonces es ms eficiente organizarlas como un cluster, ya que la informacin podr ser recuperada en una menor cantidad de operaciones de lectura realizadas sobre el disco.

Conceptos de almacenamiento en Oracle: Esquemas (Schemas)


ndice: Es una estructura creada para ayudar a recuperar datos de una manera ms rpida y eficiente. Si se solicita recuperar datos de una tabla mediante alguna condicin de bsqueda (clusula where de la sentencia), se puede acelerar si se dispone de algn ndice sobre las columnas-objetivo. Vista: implementa una seleccin de varias columnas de una o diferentes tablas. No almacena datos; slo los presenta en forma dinmica. Se utilizan para simplificar la visin del usuario sobre un conjunto de tablas, haciendo transparente para l la forma de obtencin de los datos. Proced. Almacenado: Son programas que permiten independizar el manejo de datos desde una aplicacin y efectuarla directamente desde el motor de base de datos, disminuyendo as el trfico de informacin a travs de la red y mejorando el rendimiento de los procesos implementados mediante estos programas.

Conceptos de almacenamiento en Oracle: Esquemas (Schemas)


Trigger: es un procedimiento que se ejecuta en forma inmediata cuando ocurre un evento especial. Estos eventos slo pueden ser la insercin, actualizacin o eliminacin de datos de una tabla. Secuencias: El generador de secuencias de Oracle se utiliza para generar nmeros nicos y utilizarlos, por ejemplo, como claves de tablas. La principal ventaja es que libera al programador de obtener nmeros secuenciales que no se repitan con los que pueda generar otro usuario en un instante determinado.

La instancia Oracle
Una instancia de Oracle est conformada por varios procesos y espacios de memoria compartida que son necesarios para acceder a la informacin contenida en la base de datos. La instancia est conformada por procesos del usuario, procesos que se ejecutan en el background de Oracle y los espacios de memoria que comparten estos procesos. Un fichero de parmetros, conocido como init.ora, sirve para configurar la instancia

El fichero init.ora establece el tamao y configuracin de la instancia

El SID
El SID es un identificador nico de una instancia de base de datos Oracle que puede tener una longitud hasta ocho caracteres alfanumricos. Cada instancia de base de datos se corresponde con un SID y una serie de archivos de base de datos. Por ejemplo, cuando se crea una base de datos con el SID XXX, tambin se crea la instancia de base de datos y sus archivos de base de datos (el archivo de parmetros de inicializacin, el archivo de control, los archivos redo log y los archivos de datos).

El SID
Ejemplos de SID's, los cuales se almacenan en el archivo TNSNAMES.ORA
DEVDB.WORLD = (DESCRIPTION = (ADDRESS =
(PROTOCOL = TCP) (PORT = 1521) (HOST = DEVSVR.OURCOMPANY.COM)

) (CONNECT_DATA = (SID = OURSID)) ) TESTDB.WORLD = (DESCRIPTION = (ADDRESS =

) (CONNECT_DATA = (SID = OURSID))

(PROTOCOL = TCP) (PORT = 1521) (HOST = TESTSVR.OURCOMPANY.COM)

Tipos de datos en Oracle

Los tipos de datos soportados por Oracle se agrupan en los siguientes conjuntos.

<despedida>