Lenguaje SQL,
esquemas y
estructura general
Fundamentos de Bases de Datos – Silberschatz Abraham –
Korth Henry F. – Sudarshan – Mc Graw Hill (5º Edición) –
2006. Cap. 3 y 4
Definición de datos y tipos de
datos de SQL
SQL utiliza los términos tabla, fila y columna Conceptos de esquema y catálogo en SQL
para los términos relación, tupla y atributo
del modelo relacional formal, Las versiones anteriores de SQL no incluían el
respectivamente. El principal comando de concepto de esquema de base de datos relacional;
SQL para definir datos es la sentencia todas las tablas (relaciones) estaban consideradas
CREATE, que se utiliza para crear esquemas, como parte del mismo esquema. El concepto de
tablas (relaciones) y dominios (así como esquema SQL se incorporó por primera vez en SQL2
otras estructuras, como vistas, aserciones y para agrupar las tablas y otras estructuras
triggers). pertenecientes a la misma aplicación de base de datos.
Un esquema SQL se identifica con un nombre de
esquema e incluye un identificador de autorización
para indicar el usuario o la cuenta propietaria del
esquema, así como unos descriptores para cada
elemento.
2
3
1 Esquema en una
BD
Los elementos del esquema son las tablas, las restricciones, las
vistas, los dominios y otras estructuras (como la concesión de
autorización), que describen el esquema.
Conceptos de esquema y catálogo
en SQL
✗ El esquema se crea con la sentencia CREATE SCHEMA, que
puede incluir las definiciones de todos sus elementos. Como
alternativa, puede asignarse un nombre y un identificador de
autorización al esquema, y definir los elementos más tarde.
✗ Por ejemplo, la siguiente sentencia crea el esquema
EMPRESA, propiedad del usuario cuyo identificador de
autorización es ‘Jperez’.
CREATE SCHEMA EMPRESA AUTHORIZATION Jperez;
5
Conceptos de esquema y catálogo
en SQL
✗ En general, no todos los usuarios están autorizados a crear
esquemas y elementos de esquema. El privilegio de crear
esquemas, tablas y otras estructuras debe ser otorgado
explícitamente por el administrador del sistema o DBA a las
cuentas de usuario pertinentes.
✗ Un entorno SQL es básicamente una instalación de un
RDBMS compatible con SQL en un computador. Un catálogo
siempre contiene un esquema especial denominado
INFORMATION_SCHEMA.
6
El comando
CREATE TABLE de
SQL
El comando CREATE TABLE se utiliza para
especificar una nueva relación, asignándole a
esta última un nombre y sus atributos y
restricciones iniciales. Primero se especifican
los atributos, a cada uno de los cuales se le
asigna un nombre, un tipo de datos para
especificar su dominio de valores, y
cualesquiera restricciones de atributo, como
NOT NULL. Las restricciones de clave,
integridad de entidad e integridad referencial,
pueden especificarse con la sentencia
CREATE TABLE después de haber declarado
los atributos, o pueden añadirse más tarde con
el comando ALTER TABLE
7
Create table
8
Create table
9
Create table
10
Create table
11
Tipos de datos y
dominios en SQL
Los tipos de datos básicos
disponibles para los atributos
son numérico, cadena de
caracteres, cadena de bits,
booleano, fecha y hora.
12
Tipos de datos y dominios en SQL
Numéricos Cadena de caracteres
El tipo de datos numéricos incluye los El tipo de datos cadena de caracteres puede ser
de longitud fija [CHAR(n) o CHARACTER(n),
números enteros de varios tamaños
donde n es la cantidad de caracteres] o de
(INTEGER o INT, y SMALLINT) longitud variable [VARCHAR(n) o CHAR
así como los números en coma flotante VARYING(n) o CHARACTER VARYING(n),
(reales) de distintas precisiones (FLOAT o donde n es la cantidad máxima de caracteres].
REAL, y Al especificar un valor de cadena literal, se
DOUBLE PRECISION). coloca entre comillas simples (apóstrofes) y
distingue entre minúsculas y mayúsculas.3
13
Tipos de datos y dominios en SQL
Cadena de bits Booleanos
El tipo de datos cadena de bits es de longitud Un tipo de datos booleano tiene los valores
fija n [BIT(n)] o de longitud variable [BIT tradicionales TRUE o FALSE. En SQL,
VARYING(n)], donde n es la cantidad máxima debido a la presencia
de bits. El valor predeterminado para n, que es de los valores NULL, se utiliza una lógica de
la longitud de una cadena de caracteres o de una tres valores, que permite un tercer valor:
cadena de bits, es 1. Las cadenas de bits UNKNOWN.
literales se escriben entre comillas.
14
Tipos de datos y dominios en SQL
fecha y hora marca de tiempo (TIMESTAMP)
En SQL2 se añadieron dos nuevos tipos de incluye los campos DATE y TIME, más un
datos, fecha y hora. El tipo de datos DATE tiene mínimo de seis posiciones para las fracciones
diez posiciones y sus componentes son AÑO, decimales de segundos y un calificador WITH
MES y DÍA según la forma AAAA-MM-DD. El TIME ZONE opcional.
tipo de datos TIME tiene al menos ocho Los valores literales se representan como
posiciones, con los componentes HORAS, cadenas entre comillas simples por la palabra
MINUTOS y SEGUNDOS en la forma clave TIMESTAMP, con un espacio en blanco
HH:MM:SS. entre la fecha y la hora; por ejemplo,
TIMESTAMP
‘2002-09-27 09:12:47 648302’.
15
Tipos de datos y dominios en SQL
Intervalo Marca de tiempo (TIMESTAMP)
Otro tipo de datos relacionado con DATE, El formato de DATE, TIME y TIMESTAMP
TIME y TIMESTAMP es INTERVAL, que se puede considerar como un tipo especial de
permite especificar un intervalo (un valor cadena. Por tanto, se pueden utilizar
relativo que puede utilizarse para incrementar o normalmente en comparaciones de cadena si
reducir el valor absoluto de una fecha, una hora se convierten en las cadenas
o una marca de tiempo). Los intervalos están equivalentes.
cualificados para ser intervalos AÑO/MES
o intervalos DÍA/HORA. Es posible especificar directamente el tipo de
datos de cada atributo.
16
Especificación
de restricciones
en SQL
Restricciones de clave y de
integridad referencial, así
como las restricciones en
los dominios de atributo y
NULLs y en las tuplas
individuales dentro de una
relación.
17
restricción NOT NULL
✗ Como SQL permite NULL como valor de atributo, es posible
especificar una restricción NOT NULL si no se permite NULL
para un atributo en particular. Esto siempre se especifica
implícitamente para los atributos que forman parte de la clave
principal de cada relación.
✗ También es posible definir un valor predeterminado para un
atributo añadiendo la cláusula DEFAULT <valor> a su
definición. El valor predeterminado se incluye en cualquier tupla
nueva si no se proporciona un valor explícito para ese atributo.
18
restricción NOT NULL
✗ Otro tipo de restricción puede ser restringir los valores de
atributo o dominio con la cláusula CHECK a continuación de la
definición de un atributo o dominio.6 Por ejemplo, suponga que
los números de departamento están restringidos a número
enteros entre 1 y 20; entonces, podemos cambiar la declaración
de atributo de NumeroDpto en la tabla DEPARTAMENTO.
NumeroDpto INT NOT NULL CHECK (NumeroDpto > 0 AND
NumeroDpto < 21);
19
Ejemplo de cómo
especificar en SQL los
valores de atributo
predeterminados y las
acciones de
activación de la
integridad referencial.
20
21
22
23
TRABAJO DE PROCESO 2.1 – descargar e
instalar el sgbd postgre sql 10 + PgAdminIII
✗ Descargar del siguiente enlace:
https://uaedu-my.sharepoint.com/:u:/g/personal/
maira_santacruz_ua_edu_py/EesW0bT8IKdAh2
bEu3p3uZ4B-7F5omIG_Hp5UvoV1muWUQ?e
=ebeiKG
instalarlar, agregar una constraseña
administrador que recuerdes.
✗ Entregar impresión de pantalla de la BD con el
cual estás realizando tus tareas.
24
25
26
27
Thanks
!
¿Alguna pregunta?
Eso es todo…
✗ Entregar la tarea en la
asignación de tarea de
la plataforma
CANVAS.
✗ Ponderación 5 pts. 28