0% encontró este documento útil (0 votos)
21 vistas25 páginas

C2.1 Definición de Datos

Cargado por

chris reinoso
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
21 vistas25 páginas

C2.1 Definición de Datos

Cargado por

chris reinoso
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 25

Conferencia 2

Función de definición de datos en


PostgreSQL
MSc. Miguel Angel Fenández Marín
Período 52
Definición de BD
Esquema de relación:
R: nombre de la relación
R(A: D, S) A: lista de atributos
D: dominios
S: restricciones de integridad

Esquema de la Base de Datos relacional:

< {Ri }, {Vi } > {Ri } conjunto de esquemas


{Vi } conjunto de restricción
de integridad interrelacionales
Creación de una Base de Datos
Una base de datos en PostgreSQL consta de
una colección de tablas que contienen los datos
y otros objetos como:
– Tipos de datos y Dominios,
– Vistas,
– Funciones y operadores,
– Disparadores y reglas, entre otros
Creación de tabla
Relación ≡ Tabla
Atributo ≡ Campo
Dominio ≈ Tipo de datos

Restricciones de:
Integridad de la entidad,
Dominio,
Integridad Referencial,
Usuario
Tipos de datos
• Se dividen en:
– Tipos base
• escalares,
• arreglos
– Tipos compuestos o tipos row, se crean cuando los
usuarios crean las tablas
– Es posible crear un tipo compuesto usando una
sentencia Create Type no asociado a una tabla.
– Dominios: se crean por el usuario a partir de tipos
base, que pueden ser restringidos a valores
específicos de los que permite el tipo base
Tipos de datos base escalares
• PostgreSQL tiene un rico conjunto de tipos de
datos nativos:
– Numéricos
– Monetarios
– Fecha/Hora
– Caracteres
– Binarios
– Booleanos
– Enumerativos
– Geométricos
Tipos de datos Numéricos
Tipo de dato Monetario

Tipos de datos Caracteres

Tipo de dato Binario


Tipo de datos Fecha/hora

Tipo de datos Booleano


Tipos de datos Enumerativos
Se crean usando la sentencia CREATE TYPE
Por ejemplo:

CREATE TYPE estado AS ENUM (‘de cuidado’, ‘grave’, ‘muy grave’)

Una vez creado se puede usar en la definición de tablas y


funciones:

CREATE TABLE Paciente(


Nombre varchar(15),
estado_actual estado)
Tipos de datos Geométricos
Para representar objetos espaciales en 2
dimensiones
Tipo de dato Array
PostgreSQL permite que las columnas de una
tabla sean definidas como arreglos
multidimensionales de longitud variables
Por cada tipo de datos escalar se crean
automáticamente tipos Array
Es posible también crear arreglos de tipos
definidos por el usuario y tipos compuestos, no
así de dominios.
Declaración de arreglos

CREATE TABLE sal_emp (


nombre varchar(30),
pago_por_trimestre integer[],
horario text[][] );
Tipos compuestos
Representa una estructura de un registro o fila; es
esencialmente una lista de un nombre de campo y sus
tipos de datos

CREATE TYPE NroComplejo AS(


parte_real double precision,
parte _imaginaria double precision )

• Cuando los tipos compuestos están definidos se pueden


usar para definir tablas o funciones
• Cuando se crea una tabla, automáticamente se crea un
tipo compuesto con el nombre de la tabla.
Dominio
• Es un tipo de dato con restricciones opcionales
(restricciones sobre el conjunto de datos permitido)
• Se crean utilizando la sentencia
CREATE DOMAIN
• Son útiles para tener restricciones comunes sobre
atributos en una misma localización
Por ejemplo: Varias tablas pueden tener un campo
que contenga direcciones de emails, todas
requiriendo el mismo chequeo de restricción para la
sintaxis de la dirección, en caso como ese es mejor
definir un dominio.
Restricciones
La integridad del dominio:
Viene dada por la validez de las entradas para una
columna determinada.
Se puede forzar la integridad de dominio si se restringe
–el tipo (mediante tipos de datos),
–el formato (mediante las reglas y las restricciones
CHECK),
–o el intervalo de valores posibles (mediante
restricciones FOREIGN KEY, restricciones CHECK,
definiciones DEFAULT, definiciones NOT NULL y
reglas).
Ejemplo de restricciones de dominio

“El salario de un profesor debe ser mayor que 0.

“El nombre no puede admitir valor nulo”


Restricción de integridad referencial
• A través de las llaves ajenas

Definición de llave ajena del modelo relacional

PostgreSQL permite definir llave ajena que se


corresponda con un conjunto de atributos que tomen
valores únicos dentro de la relación( a otras llaves
candidatas)
Restricciones de usuario
La integridad definida por el usuario permite
definir reglas de la compañía específicas que no
pertenecen a ninguna otra categoría de
integridad.
Por ejemplo:
“Un departamento puede tener solamente 3
profesores con categoría de instructor”
Ejemplo
Suponga que se quiere crear una base de datos para el control del personal de una
facultad. Esta base de datos puede tener una tabla Profesor que almacene información
sobre cada profesor, como un código de identificación, su nombre, sus apellidos, la
categoria docente, el departamento, el sexo, y el salario para el diseño de la tabla
deben tenerse en cuenta las siguientes consideraciones:

No debe haber dos profesores con el mismo código. Restricción de llave primaria

El departamento debe solo tomar los valores definidos para los departamentos de la
Facultad. Restriccion de integridad referencial

Debe tenerse en cuenta que se añadiran los datos de los profesores a la tabla por lo
que debe crearse un mecanismo para lograrlo. Procedimiento almacenado

Se desea tambien crear una resumen departamental de empleados, por lo que se


necesitará un mecanismo que lo permita. Vista
Instalar postgreSQL
Ir a la dirección:
https://www.enterprisedb.com/downloads/post
gres-postgresql-downloads
Bajar la versión 12.3 para Windows x86-64
Instalar postgreSQL
Instalar postgreSQL
Antes de instalar seguir las orientaciones del
siguiente video. A partir del minuto 3.11.
https://www.youtube.com/watch?time_continu
e=15&v=z9QH14QJ1-k&feature=emb_logo
Bajar la versión 12.3 para Windows x86-64
Conclusiones
Se han estudiado las principales acciones en la
definición de los datos en PostgreSQL.
Se ha hecho énfasis en las características que lo
definen en esta función de definición de datos como un
SGBD Orientado a objetos.
En las próximas actividades se completará el estudio de
las componentes de la base de datos:
vistas,
desencadenadores y funciones
por su relación con la función de manipulación de
datos.
Bibliografía
• Database System Concepts. 7ma edition
epígrafes 22.1, 22.2, 22.5, 22,6
• Tipos de datos base. Capítulo 8, epígrafes 8.1-
8.8 de la documentación
• Tipos de datos Array. Capítulo 8, epígrafe 8.15
• Tipos de datos Compuestos. Capítulo 8,
epígrafe 8.16
• Dominios. En doc\postgresql\html\sql-
createdomain.html de la documentación.

También podría gustarte