You are on page 1of 7

UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS

INGENIERIA CATASTRAL Y GEODESIA


BASES DE DATOS

PRACTICA No 2 DE BASES DE DATOS

Javier Felipe Moncada Sánchez

Bogotá, 2013

Universidad Distrital Francisco José de Caldas, 2001. Prohibida su reproducción


para fines no académicos o de investigación
BASES DE DATOS
INGENIERIA CATASTRAL Y GEODESIA - UD

BASES DE DATOS
PRACTICA No 2

CONTENIDO:

• Creación de restricciones semánticas para la tabla.


• Creación de Dominios y Adición de los mismos.
• Borrado de Registros de una tabla
• Visualización de todos los datos de una tabla

OBJETIVO:

• Adicionar restricción semánticas a las tablas ya generadas.


• Crear dominios para ser utilizados sobre atributos de las tablas.
• Aprender a borrar todos o parte de los registros de una tabla.
• Poder visualizar todos los datos existentes en una tabla.

HERRAMIENTAS A UTILIZAR:
• PostgreSQL

METODOLOGIA:
• Seguir paso a paso las indicaciones presentadas en la guía.
• Aportar los conocimientos individuales acerca del manejo de la herramienta
empleada.

PARTE 1.
Nota: es recomendable adicionar estas restricciones antes de adicionar datos, ya
que si estos datos (filas o tuplas) no cumplen las condiciones de las restricciones,
estas no son agregadas a la tabla ya generada.
Nota: existen varias formas de adicionar restricciones, en la guía se intentó colocar
y dar un ejemplo de algunas de ellas. Se recomienda usar la primera sintaxis
existente en la guía para adicionar cada una de las restricciones.

2 ________________________________________
Javier Felipe Moncada Sánchez, 2013
BASES DE DATOS
INGENIERIA CATASTRAL Y GEODESIA - UD

CREACIÓN DE RESTRICCIONES SEMANTICAS PARA LA TABLA.

Nota: es recomendable adicionar estas restricciones antes de adicionar datos, ya


que si estos datos (filas o tuplas) no cumplen las condiciones de las restricciones,
estas no son agregadas a la tabla ya generada.

Nulidad (NO NULL)


La restricción de nulidad solo es posible agregarla sobre nuevas columnas. Bajo las
restricciones dadas por el programa que se esta usando.

Adicion de la propiedad de nulidad en la creación de Tablas


Create table nombre_tabla ( campo_no1 tipo(tamaño) NOT NULL,
campo_no2 tipo(tamaño) NOT NULL, ......., campo_noN tipo(tamaño) NOT
NULL)

Adición de la propiedad de no nulo a una nueva columna de la Tabla


Alter table nombre_tabla add column campo_no1 tipo(tamaño) NOT
NULL

Ejemplo:

Creación de la tabla estudiante y adición de propiedad de nulidad


Create table estudiante ( nombres text (20) NOT NULL, apellidos text (20) NOT
NULL, edad short, sexo byt NOT NULL)

Adición de la columna promedio a la tabla estudiante


Alter table estudiante add column promedio flota NOT NULL

Unicidad (UNIQUE)
La restricción de nulidad solo es posible agregarla sobre columnas de tablas ya
creadas.

Nota: si existen datos de tuplas y en estas columnas existen datos repetidos no se


podrá adicionar la propiedad de unicidad a la(s) columna(s) dentro de la tabla.

Adicion de la propiedad de unicidad sobre una tabla


Create table nombre_tabla ( campo_no1 tipo(tamaño) UNIQUE,
campo_no2 tipo(tamaño) UNIQUE, ......., campo_noN tipo(tamaño)
UNIQUE)

Adicion de la propiedad de unicidad sobre una tabla


Create UNIQUE index nombre_index on nombre_tabla ( campo_no1 (ASC
| DESC), campo_no2 (ASC|DESC), ......., campo_noN (ASC|DESC))

3 ________________________________________
Javier Felipe Moncada Sánchez, 2013
BASES DE DATOS
INGENIERIA CATASTRAL Y GEODESIA - UD

Adición de la propiedad de unicidad sobre una columna de la Tabla


Alter table nombre_tabla add unique (campo_noA, campo_noB,..,
campo_noC)

Ejemplo:

Generación de unicidad sobre la columna nombre de la tabla estudiantes


Create table estudiante ( nombres text (20) UNIQUE, apellidos text (20), edad
short, sexo int)

Create unique index estudiante_nombre on estudiante ( nombres asc)

Adicionando la propiedad de unicidad a la columna nombres


Alter table estudiante add unique (nombres)

Llave Primaria (PRIMARY KEY)

Nota: si existen datos de tuplas y en estas columnas existen datos repetidos (llave
no unica) no se podrá adicionar la propiedad de unicidad a la(s) columna(s) dentro
de la tabla.

Adición de la llave primaria en una columna de la Tabla


Alter table nombre_tabla add primary key (campo_noA, campo_noB,..,
campo_noC)

Adicion de la llave primaria en la creación de Tablas


Create table nombre_tabla ( campo_no1 tipo(tamaño) NOT NULL,
campo_no2 tipo(tamaño) NOT NULL, ......., campo_noN tipo(tamaño) NOT
NULL primary key (campo_noA, campo_noB,..))

Ejemplo:

Adicionando la propiedad de llave primaria a la columna nombres


Alter table estudiante add primary key (nombres)

Creación de la tabla estudiante siendo la llave primaria la columna nombres


Create table estudiante ( nombres text (20) NOT NULL, apellidos text (20) NOT
NULL, edad short, sexo byt NOT NULL PRIMARY KEY (nombres))

4 ________________________________________
Javier Felipe Moncada Sánchez, 2013
BASES DE DATOS
INGENIERIA CATASTRAL Y GEODESIA - UD

Ejemplo:

Tabla estudiantes
nombres apellidos edad Sexo Cod_colegio
Luis Martínez Silva 21 1 1
Maria Rodríguez Cruz 18 2 + 1
José Rodríguez Lute 1 2

Tabla Colegio
Nombre Jóvenes _insc Código
Maria Montesorri 450 1
Camilo Torres 720 2
Policarpa Salavarieta 530 3

Llave Foránea (FOREIGN KEY)

Nota: si existen datos de tuplas y en estas columnas existen datos repetidos (llave
no única) no se podrá adicionar la propiedad de unicidad a la(s) columna(s) dentro
de la tabla.

Adición de la llave foránea en una columna de la Tabla


(recomendado)
Alter table nombre_tabla add foreign key (campo_noA) references
nombre_tabla_ref ( campo_no1_PK)

Adición de la llave foránea en la creación de Tablas


Create table nombre_tabla ( campo_no1 tipo(tamaño) NOT NULL,
campo_no2 tipo(tamaño) NOT NULL, ......., campo_noN tipo(tamaño) NOT
NULL primary key (campo_noA, campo_noB,..) foreign key
(campo_noA1) references nombre_tabla_ref ( campo_no1_PK))

Ejemplo:

Adicionando la propiedad de llave foránea a la columna cod_colegio


Alter table estudiante add foreign key (Cod_colegio) references Colegio (Codigo)

Creación de la tabla estudiante siendo la llave foránea la columna Cod_colegio


Create table estudiante ( nombres text (20) NOT NULL, apellidos text (20) NOT
NULL, edad short, sexo byt NOT NULL, Cod_colegio short NOT NULL PRIMARY KEY
(nombres) FOREIGN KEY (Cod_colegio) REFERENCES Colegio (Codigo)

5 ________________________________________
Javier Felipe Moncada Sánchez, 2013
BASES DE DATOS
INGENIERIA CATASTRAL Y GEODESIA - UD

Nota: es aconsejable colocar la definición de las llaves primarias y


foráneas después de creadas las tablas, la primera por estándar y la
segunda debido a que si no existe previamente la tabla de asociación, no
deja crear una referencia hacia ella.

PARTE 2.
CREACION DE DOMINIOS Y ADICION DE LOS MISMOS EN LA CREACION
DE COLUMNAS

Cuando se crean bases de datos normalmente se requiere restringir los valores de


una determinada columna o atributo, para ello nos podemos basar en la integridad
referencial dada por la llave foránea o podemos apoyarnos en los dominios
(componente estático).

Creación de dominios
Create Domain nombre_del_dominio as tipo_de_dato Default Valor
‘Restriccion’

Restricción
NOot Null | Null | Check expression_logica

Ejemplo:

Creación de un dominio de tipo texto:


create domain dominioc1 as char(10) default 'VERDADERO' check (value in
('VERDADERO','FALSO',’DESCONOCIDO’))

Creación de un dominio de tipo numérico:


create domain dominioc2 as integer default 18 check (value > 1 and value < 80)

Adición del dominio sobre una columna que se esta creando:


Create table prueba (nombre char(40) not null unique, edad dominioc2, genero
dominioc1 not null)

PARTE 3.
BORRADO DE TODOS LOS DATOS DE UNA TABLA

En algunos momentos es necesario borrar la totalidad o parte de los registros de


una tabla para ello podemos contar con el comando Delete.

Borrado de Registros
Delete from nombre_de_la_tabla where expression_logica

6 ________________________________________
Javier Felipe Moncada Sánchez, 2013
BASES DE DATOS
INGENIERIA CATASTRAL Y GEODESIA - UD

Ejemplo:

Borrado de todos los registros de la tabla estudiantes:


Delete from estudiantes

Borrado de parte de los registros de la tabla estudiantes:


Delete from estudiantes where sexo = 1

PARTE 4.
VISUALIZACIÓN DE TODOS LOS DATOS DE UNA TABLA

Para lograr visualizar el resultado de la consulta se debe utilizar la tecla F9 o el


botón (Execute SQL query) de Cute SQL.

Visualización o Selección de algunas columnas sobre una tabla


Select campo_noA, campo_noB,.. from nombre_tabla

Visualización o Selección de todas las columnas sobre una tabla


Select * from nombre_tabla

Ejemplo:

Visualización de todas las columnas y todos los datos sobre la tabla estudiante

Select * from estudiantes

7 ________________________________________
Javier Felipe Moncada Sánchez, 2013

You might also like