Documente Academic
Documente Profesional
Documente Cultură
Si se intenta introducir un valor demasiado grande para el campo, se intentar eliminar los espacios finales, y si cabe sin espacios, se introduce. Si an as no cabe, se retorna un error. Tipo de dato VARCHAR2(b) Almacena cadenas de caracteres de longitud variable. Si se define una columna de longitud 100 bytes, y se introduce en ella un valor de 10 bytes, la columna ocupar 10 y no 100 como haca con el tipo de dato CHAR. Tipo de dato VARCHAR(b) En Oracle8 es equivalente a VARCHAR2, en futuras versiones permitir distintos criterios de comparacin. Tipo de dato NCHAR(b) Almacena un valor alfanumrico de longitud fija con posibilidad de cambio de juego de caracteres. Puede almacenar tanto caracteres ASCII, EBCDIC, UNICODE Tipo de dato NVARCHAR2(b) Almacena un valor alfanumrico de longitud variable con posibilidad de cambio de juego de caracteres. Puede almacenar tanto caracteres ASCII, EBCDIC, UNICODE
'10-MAY-2000' - '1-MAY-2000' = 9
Tipos de datos binarios Permiten almacenar informacin en formato "crudo", valores binarios tal y como se almacenan en el disco duro o como residen en memoria. Estas columnas se pueden utilizar tanto para almacenar grandes cantidades de datos (hasta 4Gb.), como para almacenar directamente cualquier tipo de fichero (ejecutables, sonidos, videos, fotos, documentos Word, DLLs) o para transportar datos de una base de datos a otra, ya que el formato binario es el nico formato comn entre cualquier sistema informtico. Tipo de dato LONG Almacena caracteres de longitud variable hasta 2 Gb. Este tipo de dato se soporta para compatibilidad con versiones anteriores. En Oracle8 y siguientes versiones de debe usar los tipos de datos CLOB y NLOB para almacenar grandes cantidades de datos alfanumricos. Tipo de dato ROWID Representa una direccin de la base de datos, ocupada por una nica fila. El ROWID de una fila es un identificador nico para una fila dentro de una base de datos. No hay dos filas con el mismo ROWID. Este tipo de dato sirve para guardar punteros a filas concretas. Normas para pasar el diagrama E-R a tablas: 1. Las Entidades pasan a formar tablas directamente. 2. Las relaciones (Asociaciones) tienen el siguiente tratamiento: 3. Si el grado de asociacin es mayor de dos, esa asociacin pasa a formar una entidad con los identificadores de cada entidad involucrada y los atributos propios de la asociacin. A(a1,a2,) B(b1,b2,) C(c1,c2,. RABC(a1,b1,c1,x,y,)
4. Para asociaciones de grado dos: Relaciones Muchos a Muchos: Este tipo de relaciones tambin origina una tabla intermedia con los identificadores de las entidades de la relacin Relacin Uno a Muchos: En la tabla de los hijos se debe agregar el indicador (llave) del padre y los atributos de la asociacin. Relaciones Uno a Uno:
Para ayudarnos a realizar dicha conversin utilizaremos el siguiente formato: Nombre de la Tabla: Nombre de Columna Tipo de Llave (pk,fk) Columna Tipo de Nulo/Uni Tabla co referenci referenci Dato a a (nn,uk) Tamao Mximo Ejempl
El mismo de la entidad El mismo del atributo pk: Llave primaria fk: Llave secundaria
Nulo/nico
Tabla y Columna Referencia: Se utiliza la tabla y el campo con la cual se estableci la relacin.
La creacin de la tabla FACTURA sera la siguiente: CREATE TABLE FACTURA( REFERENCIA VARCHAR2(10) DESCRIPCION VARCHAR2(50), C_PAIS NUMBER(3), C_CLIENTE IMPORTE NUMBER(5), NUMBER(12), NOT NULL,
CONSTRAINT PK_FACTURA PRIMARY KEY( REFERENCIA ) CONSTRAINT FK_CLIENTE(C_PAIS,C_CLIENTE) REFERENCES CLIENTE( C_PAIS, C_CLIENTE) ON DELETE CASCADE); Los campos que van a formar parte de la clave se tienen que definir como NOT NULL ya que no tiene sentido que stas columnas carezcan de valor. Adems se crea la clave primaria y la clave fornea que hace referencia a CLIENTE (como ya dijimos en el apartado de claves forneas). Con la clusula ON DELETE CASCADE hacemos que si se borra un cliente, se borren automticamente todas sus facturas. Si no la incluysemos, al borrar el cliente, nos dara el siguiente error: ORA-02292: integrity constraint (FK_CLIENTE) violated - child record found
Hay que tener en cuenta que aunque la clave fornea se crea sobre la tabla FACTURA, tambin acta cuando se hacen operaciones sobre CLIENTE.
Al intentar insertar una factura a un cliente inexistente nos dar el siguiente error: ORA-02291: integrity constraint (FK_CLIENTE) violated - parent key not found
1. Se define el orden en que se realiza el script, es el mismo como se debe de construir la base de datos, se empiece desde las tablas que no tenga ninguna relacin hasta las tablas que tenga la mayor cantidad de relaciones. a. b. c. d. e. f. g. Ciudad Clasificacin Artculo Cliente Cnyuge. Factura Factura_Articulo
Tamao Ejemplo Mximo 1 30 Tamao Ejemplo Mximo 1 30 Tamao Ejemplo Mximo 1 15 770777124567890 30 ARROZ 1 200 300 16 Tamao Ejemplo Mximo 91475632 PEDRO DIAZ CALLE 15 # 12 56 63603245 3002112453 1 31/06/1980
CLASIFICACION Nulo/Unico Tabla Columna Tipo de (nn,uk) referencia referencia Dato nn.uk nn Nmerico Cadena
ARTICULO Nulo/Unico Tabla Columna Tipo de (nn,uk) referencia referencia Dato nn.uk nn nn nn nn nn nn Nmerico Cadena Cadena Nmerico Nmerico Nmerico Nmerico
FK
Clasificacion Codigo
CLIENTE Nulo/Unico Tabla Columna Tipo de (nn,uk) referencia referencia Dato nn.uk nn nn nn Nmerico Cadena Cadena Cadena Cadena Nmerico Fecha
15 30 20 20
FK
nn nn
Ciudad
Codigo
CONYUGE Nulo/Unico Tabla Columna Tipo de (nn,uk) referencia referencia Dato nn.uk nn nn Ciudad nn Cliente Codigo Cdula Nmerico Cadena Cadena Cadena Cadena Nmerico
Tamao Ejemplo Mximo 63456120 MARIA DELGADO CALLE 15 # 12 56 63603245 3002331452 91475632
15 30 20 20
Tabla Nombre de Columna Nmero. Fecha. Base. IVA. Total. Tabla Nombre de Columna Numero PLU Cantidad. Costo. Venta. IVA. Total.
FACTURA Nulo/Unico Tabla Columna Tipo de (nn,uk) referencia referencia Dato nn.uk nn nn nn nn Nmerico Fecha Nmerico Nmerico Nmerico
Tamao Ejemplo Mximo 1 01/01/2007 1000 160 1160 Tamao Ejemplo Mximo 1 1 5 200 232 160 1160
FACTURA_ARTICULO Nulo/Unico Tabla Columna Tipo de (nn,uk) referencia referencia Dato nn,uk nn,uk nn nn nn nn nn FACTURA ARTICULO NUMERO PLU Nmerico Nmerico Nmerico Nmerico Nmerico Nmerico Nmerico
3. Se construye el script de datos. Create Table Ciudad ( Codigo Flota not null, Nombre Not Null, Constraint PK_Ciudad Primary Key (Codigo)); Create Table Clasificacion ( Codigo Flota not null, Nombre Not Null, Constraint PK_Clasificacion Primary Key (Codigo)); Create Table Articulo ( PLU Float not null, Barras Varchar2(15) not null, Nombre Varchar2(30) not null. Clasificacin Flota not null, Costo Float not null, Venta Float not null, IVA Float not null, Constraint PK_Articulo Primary Key (PLU), Constraint FK_ClasificacionArticulo Foreign Key (Clasificacion) references Clasificacion(Codigo)); Create Table Cliente ( Cdula Float not null, Nombre Varchar2(30) not null, Direccin Varchar2(30) not null, Telfono Varchar2(20) not null, Celular Varchar2(30), Lugar Float,
La cadena de Video-Clubs Glob-Gusters ha decidido, para mejorar su servicio, emplear una base de datos para almacenar la informacin referente a las pelculas que ofrece en alquiler. Esta informacin es la siguiente:
Una pelcula se caracteriza por su ttulo, nacionalidad, productora y fecha (p.e., Quo Vadis, Estados Unidos, M.G.M., 1955). En una pelcula pueden participar varios actores (nombre, nacionalidad, sexo) algunos de ellos como actores principales. Una pelcula est dirigida por un director (nombre, nacionalidad). De cada pelcula se dispone de uno o varios ejemplares diferenciados por un nmero de ejemplar y caracterizados por su estado de conservacin. Un ejemplar se puede encontrar alquilado a algn cliente (DNI, nombre, direccin, telfono).
Se desea almacenar la fecha de comienzo del alquiler y la de devolucin.
Un socio tiene que ser avalado por otro socio que responda de l en caso detener problemas en el
alquiler.
10