Está en la página 1de 3

Programación de Bases de Datos con SQL

1-2: Tecnología de Base de Datos Relacional


Actividades de Práctica

Objetivos
• Definir y dar un ejemplo de una base de datos relacional
• Identificar los términos clave de la tabla, incluidos fila, columna, campo, clave primaria y clave
ajena
• Relacionar la importancia de las bases de datos con la vida diaria

Terminología
Identifique el término para cada una de las siguientes definiciones.

Entrada de una tabla que consta de valores para cada una de las
FILA columnas adecuadas.
Juego de columnas obligatorias de una tabla que se utiliza para
CLAVE PRINCIPAL
aplicar la unicidad de filas y que es normalmente el modo más
frecuente de acceder a las filas.
TABLA
Organización de datos en filas y columnas.

LLAVE FORANEA Columna o juego de columnas que hace referencia a una clave
primaria de la misma tabla o de otra tabla.
Recopilaciones de objetos o relaciones, juego de operadores que
BASE DE DATOS
RELACIONAL
actúan en esas relaciones e integridad de datos para su
precisión y consistencia
CAMPO Intersección de una fila y una columna

LENGUAJE DE MANIPULACION Se utiliza para modificar los datos de la tabla introduciendo,


DE DATOS cambiando o eliminando filas
LENGUAJE DE DEFINICION Crea, modifica y elimina estructuras de datos de la base de datos
DE DATO Se utiliza para gestionar los cambios realizados por las
Leguajes de control de sentencias DML
transacciones

LENGUAJE DE CONTROL Se utiliza para otorgar o eliminar derechos de acceso a la base


DE DATOS de datos y las estructuras dentro de ella

Copyright © 2020 Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y sus filiales. Todos los demás nombres pueden ser marcas
comerciales de sus respectivos propietarios.
Inténtelo/Resuélvalo
1. ¿Cuántas tablas contiene la base de datos Global Fast Foods? ____ tablas

Específicas de Global Fast Foods ERD [9] son:

F_ORDER_LINES

F_FOOD_ITEMS

F_PROMOTIONAL_MENUS

F_REGULAR_MENUS

F_SHIFTS

F_SHIFT_ASSIGNMENTS

F_STAFFS

F_CUSTOMERS

F_ORDERS

2. ¿Cómo se relaciona la tabla F_SHIFTS con la tabla F_STAFFS?


SELECT DISTINCT table_name from user_constraints
WHERE r_constraint_name in
(
SELECT constraint_name
FROM user_constraints
WHERE table_name in (upper('f_shifts'), upper('F_STAFFS'))
);

La consulta anterior da una idea de que, vaya a buscar tablas de estudio F_ORDERS, F_SHIFT_ASSIGNMENTS
Ahora finalmente me di cuenta de que, F_SHIFTS tabla relacionada con el F_STAFFS, ambos con referencia de clave
externa en F_SHIFT_ASSIGNMENTS.

Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas
comerciales de sus respectivos propietarios

2
3. ¿Cuáles son los nombres de las columnas de la tabla F_CUSTOMERS?
SELECT column_name
FROM all_tab_cols
WHERE table_name = 'F_CUSTOMERS'

COLUMN_NAME:
· ID
· FIRST_NAME
· LAST_NAME
· ADDRESS
· CITY
· STATE
· ZIP
· PHONE_NUMBER

4. ¿Cuántas filas de datos se han introducido en la tabla F_PROMOTIONAL_MENUS?


R= 2 filas

5. En la tabla F_FOOD_ITEMS, la columna _________ es una columna de clave ajena.


¿A qué tabla y columna hace referencia esta clave?
select *
from user_constraints
where table_name = 'F_FOOD_ITEMS' and CONSTRAINT_TYPE = 'R';

select table_name from user_constraints


where constraint_name in
(
select r_constraint_name
from user_constraints
where table_name = 'F_FOOD_ITEMS' and CONSTRAINT_TYPE = 'R'
);

"REGULAR_CODE" a "CODE" en "F_REGULAR_MENUS"


"PROMO_CODE" a "CODE" en "F_PROMOTIONAL_MENUS"

6. Enumere las relaciones entre clave primaria y clave ajena necesarias para pasar de la
tabla F_SHIFTS a la tabla F_REGULAR_MENUS.
--remove HOURS_SERVED
alter table "F_REGULAR_MENUS" drop column "HOURS_SERVED" ;
--add SHIFT_CODE
alter table "F_REGULAR_MENUS" add "SHIFT_CODE" NUMBER(5, 0) ;
--give some value so that it may be set to not null later
UPDATE "F_REGULAR_MENUS" SET "SHIFT_CODE" = 1;
--set SHIFT_CODE to not null
ALTER TABLE "F_REGULAR_MENUS" MODIFY ("SHIFT_CODE" NUMBER(5,0) CONSTRAINT "F_RMU_
SHIFT_CODE_NN" NOT NULL ENABLE);
--now create the foreign key constraint
ALTER TABLE "F_REGULAR_MENUS" ADD CONSTRAINT "F_RMU_SHIFT_CODE_FK" FOREIGN KEY
("SHIFT_CODE") REFERENCES "F_SHIFTS" ("CODE") ENABLE;

También podría gustarte