admin is trac ion base datos

26
Administración de Base de Datos Georgina Chino Gallardo

Upload: samuel-montano-jarquin

Post on 05-Jul-2015

175 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Admin is Trac Ion Base Datos

Administración de Base de DatosGeorgina Chino Gallardo

Page 2: Admin is Trac Ion Base Datos

2.1. Creación de base de datos

• 2.1.1. Creación de la estructura de la base de datos.

• 2.1.2.Creación de dominios definidos por el DBA.

• 2.1.3.Definir el esquema general de la base de datos (tablas, atributos, llaves primarias y llaves heredadas).

• 2.1.4.Creación de vistas de la base de datos (view).

Page 3: Admin is Trac Ion Base Datos

2.1.1 Creación de la estructura de la base de datos

• la creación de la base de datos consiste en la creación de las tablas que la componen. En realidad, antes de poder proceder a la creación de las tablas, normalmente hay que crear la base de datos, lo que a menudo significa definir un espacio de nombres separado para cada conjunto de tablas.

Page 4: Admin is Trac Ion Base Datos

2.1.1 Creación de la estructura de la base de datos

• para una DBMS se pueden gestionar diferentes bases de datos independientes al mismo tiempo sin que se den conflictos con los nombres que se usan en cada una de ellas.

• El sistema previsto por el estándar para crear los espacios separados de nombres consiste en usar las instrucciones SQL "CREATE SCHEMA". A menudo, dicho sistema no se usa (o por lo menos no con los fines y el significado previstos por el estándar), pero cada DBMS prevé un procedimiento propietario para crear una base de datos. Normalmente, se amplía el lenguaje SQL introduciendo una instrucción no prevista en el estándar: "CREATE DATABASE".

Page 5: Admin is Trac Ion Base Datos

2.1.1 Creación de la estructura de la base de datos

• La sintaxis empleada por PostgreSQL, pero también por las DBMS más difundidas, es la siguiente:

CREATE DATABASE nombre_base de datos

Con PostgreSQL está a disposición una orden invocable por shell Unix (o por shell del sistema usado), que ejecuta la misma operación:

createdb nombre_base de datos

Para crear nuestra base de datos bibliográfica, usaremos pues la orden:

createdb biblio

Una vez creada la base de datos, se pueden crear las tablas que la componen. La instrucción SQL propuesta para este fin es:

CREATE TABLE nombre_tabla (nombre_columna tipo_columna [ cláusula_defecto ] [ vínculos_de_columna ][ , nombre_columna tipo_columna [ cláusula_defecto ] [ vínculos_de_columna ] ... ][ , [ vínculo_de tabla] ... ] )

Page 6: Admin is Trac Ion Base Datos

2.1.2 creación de dominios definindos por el DBA• Dominio: es un objeto que se

almacena en la base de datos y que representa un tipo de datos, una restricción CHECK y un valor por omisión. Se puede usar para definirlo como tipo de una columna.

Page 7: Admin is Trac Ion Base Datos

2.1.2 creación de dominios definindos por el DBA• Están en el estándar SQL, como

ejemplos los siguientes DBMS que los implementan: PostgreSQL, Interbase y Firebird.Son muy útiles porque una de las cosas más tediosas es tener que ir a revisar la definición de la clave primaria de alguna tabla para copiarla tal cual al crear una tabla nueva que tendrá una clave foránea. Si se usan dominios sólo hay que usar el mismo.

Page 8: Admin is Trac Ion Base Datos

2.1.2 creación de dominios definindos por el DBA• Un ejemplo:• CREATE DOMAIN POSITIVE AS INTEGER NOT

NULL CHECK(VALUE > 0);• Luego en todas las tablas que lleven una

columna cuyo valor sea entero, no nulo y mayor a cero, usamos el dominio:

• CREATE TABLE campo(id: integer not null primary key,hectareas: positive);

• Un dominio muy útil es para las columnas de montos de dinero que siempre debemos mantener con la misma cantidad de decimales.

• .

Page 9: Admin is Trac Ion Base Datos

2.1.3.Definir el esquema general de la base de datos (tablas, atributos, llaves primarias y llaves heredadas).• Create Table pedidos

(id_pedido INT(4) NOT NULL AUTO_INCREMENT,id_cliente INT(4) NOT NULL,id_articulo INT(4)NOT NULL,fecha DATE,cantidad INT(4),total INT(4), KEY(id_pedido,id_cliente,id_articulo))

Page 10: Admin is Trac Ion Base Datos

2.1.3.Definir el esquema general de la base de datos (tablas, atributos, llaves primarias y llaves heredadas).• Create Table articulos

(id_articulo INT(4) NOT NULL AUTO_INCREMENT,titulo VARCHAR(50),autor VARCHAR(25),editorial VARCHAR(25),precio REAL,KEY(id_articulo))

Page 11: Admin is Trac Ion Base Datos

2.1.3.Definir el esquema general de la base de datos (tablas, atributos, llaves primarias y llaves heredadas).

Tipo Bytes DescripciónINT o

INTEGER 4 Números enteros. Existen otros tipos de mayor o menor longitud específicos de cada base de datos.

DOUBLE o REAL 8 Números reales (grandes y con decimales). Permiten

almacenar todo tipo de número no entero.CHAR 1/caracter Alfanuméricos de longitud fija predefinida

VARCHAR 1/caracter+1 Alfanuméricos de longitud variable

DATE 3 Fechas, existen multiples formatos específicos de cada base de datos

BLOB 1/caracter+2 Grandes textos no indexablesBIT o

BOOLEAN 1 Almacenan un bit de información (verdadero o falso)

Page 12: Admin is Trac Ion Base Datos

2.1.3.Definir el esquema general de la base de datos (tablas, atributos, llaves primarias y llaves heredadas).

• La clave primaria se utiliza para identificar en forma única cada línea en la tabla. Puede ser parte de un registro real, o puede ser un campoartificial (uno que no tiene nada que ver con el registro real). Una clave primaria puede consistir en uno o más campos en una tabla. Cuando se utilizan múltiples camposcomo clave primaria, se los denomina claves compuestas.

• Las claves primarias pueden especificarse cuando se crea la tabla (utilizando CREATE TABLE) o cambiando la estructura existente de la tabla (utilizando ALTER TABLE).

Page 14: Admin is Trac Ion Base Datos

2.1.3.Definir el esquema general de la base de datos (tablas, atributos, llaves primarias y llaves heredadas).

• Una clave externa es un campo (o campos) que señala la clave primaria de otra tabla. El propósito de la clave externa es asegurar la integridad referencial de los datos.En otras palabras, sólo se permiten los valores que se esperan que aparezcan en la base de datos.

Page 15: Admin is Trac Ion Base Datos

• Por ejemplo, digamos que tenemos dos tablas, una tabla CUSTOMER que incluye todos los datos del CUSTOMER, y la tabla ÓRDENES que incluye los pedidos del CUSTOMER. La restricción aquí es que todos los pedidos deben asociarse con un CUSTOMER que ya se encuentra en la tabla CUSTOMER.

• En este caso, colocaremos una clave externa en la tabla ORDERS y la relacionaremos con la clave primaria de la tabla CUSTOMER. De esta forma, nos aseguramos que todos los pedidos en la tabla ORDERS estén relacionadas con un CUSTOMER en la tabla CUSTOMER. En otras palabras, la tabla ORDERS no puede contener información de un CUSTOMER que no se encuentre en la tabla CUSTOMER.

Page 16: Admin is Trac Ion Base Datos

La estructura de estas dos tablas será la siguiente:

nombre de columna característica

SID Clave Primaria

Last_Name

First_Name

Tabla CUSTOMER

Tabla ORDERS

nombre de columna característica

Order_ID Clave Primaria

Order_Date

Customer_SID Clave Externa

Amount

Page 17: Admin is Trac Ion Base Datos

En el ejemplo anterior, la columna Customer_SID en la tabla ORDERS es una clave externa señalando la columna SID en la tabla CUSTOMER.

A continuación se muestran ejemplos de cómo especificar la clave externa a la hora de crear la tabla ORDERS:

• MySQL: CREATE TABLE ORDERS (Order_ID integer, Order_Date date, Customer_SID integer, Amount double, Primary Key (Order_ID), Foreign Key (Customer_SID) references CUSTOMER(SID));

Page 18: Admin is Trac Ion Base Datos

A continuación se presentan ejemplos para la especificación de una clave externa al modificar una tabla: Esto asume que se ha creado la tabla ORDERS, y que la clave externa todavía no se ha

ingresado:

• MySQL: ALTER TABLE ORDERS ADD FOREIGN KEY (customer_sid) REFERENCES CUSTOMER(SID);

Page 19: Admin is Trac Ion Base Datos

2.1.4.Creación de vistas de la base de datos (view).

• Las vistas pueden considerarse como tablas virtuales. Generalmente hablando, una tabla tiene un conjunto de definiciones, y almacena datos físicamente. Una vista también tiene un conjunto de definiciones, que se construye en la parte superior de la(s) tabla(s) u otra(s) vista(s), y no almacena datos físicamente.

• La sintaxis para la creación de una vista es la siguiente:

• CREATE VIEW "NOMBRE_VISTA" AS "Instrucción SQL"

Page 20: Admin is Trac Ion Base Datos

• La “Instrucción SQL” puede ser cualquiera de las instrucciones SQL que hemos descrito en esta guía de referencia.

• Utilicemos un ejemplo simple para ilustrar. Supongamos que tenemos la siguiente tabla:

• Tabla Customer(First_Name char(50),Last_Name char(50),Address char(50),City char(50), Country char(25),Birth_Date date)

Page 21: Admin is Trac Ion Base Datos

y deseamos crear una vista denominada V_Customer que contiene sólo las columnas First_Name, Last_Name y País de

esta tabla, ingresaríamo

• CREATE VIEW V_CustomerAS SELECT First_Name, Last_Name, CountryFROM Customer

• Ahora tenemos una vista llamada V_Customer con la siguiente estructura:

• View V_Customer(First_Name char(50),Last_Name char(50),Country char(25))

Page 22: Admin is Trac Ion Base Datos

• Podemos utilizar también una vista para aplicar uniones a dos tablas. En este caso, los usuarios sólo ven una vista en vez de dos tablas, y la instrucción SQL que los usuarios necesitan emitir se vuelve mucho más simple. Digamos que tenemos las siguientes dos tablas:

Page 23: Admin is Trac Ion Base Datos

store_name Sales Date

Los Angeles 1500 € 05-Jan-1999

San Diego 250 € 07-Jan-1999

Los Angeles 300 € 08-Jan-1999Boston 700 € 08-Jan-1999

Tabla Store_Information

Tabla Geography

region_name store_name

East Boston

East New York

West Los Angeles

West San Diego

Page 24: Admin is Trac Ion Base Datos

y deseamos construir una vista que tenga ventas organizadas según la región. Colocaríamos la siguiente instrucción SQL:

• CREATE VIEW V_REGION_SALESAS SELECT A1.region_name REGION, SUM(A2.Sales) SALESFROM Geography A1, Store_Information A2WHERE A1.store_name = A2.store_nameGROUP BY A1.region_name

Page 25: Admin is Trac Ion Base Datos

Esto nos brinda una vista, V_REGION_SALES, que se ha definido para las ventas de los negocios según los registros de la región. Si

deseamos saber el contenido de esta vista, ingresamos,

• SELECT * FROM V_REGION_SALES

• Resultado:

REGION SALESEast 700 €West 2050 €

Page 26: Admin is Trac Ion Base Datos

2.2. Definición del esquema de integridad.

1. Validar y verificar integridad de entidad e integridad referencial.

2. Creación de disparadores (Trigger’s).3. Creación de procedimientos almacenados.