Contenido
1. Creación de una Base de Datos
Antes de empezar a almacenar datos en una Base de Datos, primero necesitamos crear la estructura adecuada para organizar esos datos. Esto implica crear la Base de Datos en sí misma y luego definir las tablas que contendrán la información. A continuación, te explico cómo se hace esto utilizando SQL.1.1 Creación de una Base de Datos con CREATE DATABASE
Aunque en Oracle la creación de una base de datos normalmente se realiza a través de herramientas especializadas como Oracle Database Configuration Assistant (DBCA), puedo mostrarte un ejemplo hipotético de cómo sería la sintaxis del comando `CREATE DATABASE` en Oracle SQL. Para crear una nueva Base de Datos, utilizamos la sentencia `CREATE DATABASE`. Esto le indica al sistema de gestión de bases de datos (DBMS) que queremos crear un nuevo contenedor para nuestras tablas y otros objetos de la Base de Datos. Ejemplo1 : Sintaxis básica
CREATE DATABASE MiBaseDeDatos;
Esta sentencia crea una nueva Base de Datos llamada «MiBaseDeDatos«. La mayoría de las veces, la creación de una nueva base de datos en Oracle se realiza mediante herramientas específicas de administración de bases de datos, como Oracle Database Configuration Assistant (DBCA), que proporcionan una interfaz gráfica o comandos específicos para guiar a través del proceso de creación de la base de datos de manera más controlada y segura.
Ejemplo 2 :
CREATE DATABASE MiBaseDeDatos
USER SYS IDENTIFIED BY sys_password --Creación usuario SYS
USER SYSTEM IDENTIFIED BY system_password --Creación usuario SYSTEM
En este ejemplo:
- Se crea una nueva base de datos llamada `MiBaseDeDatos`.
- Se establecen las contraseñas para los usuarios `SYS` y `SYSTEM`.
-- Esto es un comentario de una única linea
/* Este comentario
abarca varias líneas */
1.2 Creación de una Base de Datos con SQL Developer
Página de descarga oficial de SQL Developer Los pasos para crear una nueva conexión de base de datos en SQL Developer son muy simples:- Abre SQL Developer: Inicia la aplicación SQL Developer en tu computadora. Una vez que esté abierta, verás la interfaz principal.
- Navega a la pestaña «Connections» (Conexiones): En la parte superior de la ventana de SQL Developer, hay una serie de pestañas. Haz clic en la pestaña «Connections» para ir al área de administración de conexiones.
- Haz clic derecho en «Connections» y selecciona «New Connection» (Nueva Conexión): En el panel izquierdo, ubicado en la sección «Connections», haz clic derecho en el nodo «Connections» y selecciona «New Connection» (Nueva Conexión) en el menú contextual que aparece. Se abrirá una nueva ventana o diálogo para crear una nueva conexión.
Completa la información de la conexión:
- Connection Name (Nombre de la Conexión): Ingresa un nombre descriptivo para identificar esta conexión en SQL Developer.
- Username (Nombre de Usuario): Ingresa el nombre de usuario de tu base de datos.
- Password (Contraseña): Ingresa la contraseña correspondiente al usuario.
- Connection Type (Tipo de Conexión): Selecciona el tipo de conexión de la lista desplegable. Para Oracle, usualmente seleccionarás «Basic» (Básico).
- Hostname (Nombre del Host): Ingresa la dirección IP o el nombre del servidor donde se encuentra la base de datos.
- Port (Puerto): Ingresa el número de puerto de la base de datos. El puerto predeterminado para Oracle es 1521.
- SID (Identificador del Sistema): Ingresa el SID de la base de datos Oracle.
- Service Name (Nombre del Servicio): Ingresa el nombre del servicio de la base de datos Oracle (si lo estás utilizando en lugar de SID).
- Save Password (Guardar Contraseña): Opcionalmente, puedes seleccionar esta opción para guardar la contraseña en la configuración de la conexión. Esto facilitará la conexión en el futuro, pero ten en cuenta que podría ser menos seguro.
- Haz clic en «Test» (Probar): Una vez que hayas ingresado toda la información requerida, puedes hacer clic en el botón «Test» para probar la conexión. Esto verificará si los detalles que has proporcionado son válidos y si puedes conectarte a la base de datos con ellos.
- Haz clic en «Connect» (Conectar): Si la prueba de conexión es exitosa, puedes hacer clic en «Connect» para establecer la conexión con la base de datos. Si hay algún error, revisa los detalles que has ingresado y corrige cualquier problema antes de intentar conectarte nuevamente.
1.3 Creación de una Base de Datos con SQL*plus
Para comenzar, abre una terminal en tu sistema y ejecuta el siguiente comando para iniciar SQL*Plus:
sqlplus
Esto te pedirá que ingreses tus credenciales de inicio de sesión de Oracle, como el nombre de usuario y la contraseña. Si estás utilizando Oracle Database Express Edition (XE) en tu sistema local, es posible que puedas iniciar sesión utilizando el usuario predeterminado SYS
o SYSTEM
con su contraseña. Si es la primera vez que inicias sesión la contraseña por defecto suele ser «oracle», «sys» o «system».
Una vez que hayas iniciado sesión en SQL*Plus, puedes comenzar creando tu primera base de datos. Ejecuta el siguiente comando para abrir una nueva conexión de base de datos:
CONNECT / AS SYSDBA
Esto te dará acceso a las funciones administrativas de la base de datos como el usuario SYSDBA.
Ahora, para crear tu primera base de datos, puedes ejecutar el siguiente conjunto de comandos SQL:
CREATE DATABASE mi_primera_bd
USER SYS IDENTIFIED BY contraseña_sys
USER SYSTEM IDENTIFIED BY contraseña_system
EXTENT MANAGEMENT LOCAL
DATAFILE '/ruta/a/mi_primera_bd.dbf' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE temp
TEMPFILE '/ruta/a/temp.dbf' SIZE 50M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
UNDO TABLESPACE undo
DATAFILE '/ruta/a/undo.dbf' SIZE 50M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;
En caso de no permitiros crear la base de datos, es posible que ya tengáis una sesión abierta con otra base de datos.
Podemos ver la base de datos actual utilizando la siguiente consulta:
SELECT SYS_CONTECT('USERENV', 'BD_NAME') FROM DUAL;
Al realizar la consulta vemos como en mi caso estoy utilizando Oracle Database XE (Express Edition), es una versión gratuita y ligera de Oracle Database que está diseñada para desarrollo, pruebas y despliegue de aplicaciones de pequeña escala. XE es una edición específica de Oracle Database que proporciona muchas de las características y funcionalidades de las ediciones comerciales de Oracle, pero con algunas limitaciones en términos de capacidad y escalabilidad.
1.3.1 Creación de un nuevo esquema en Oracle Database XE
En Oracle Database, un esquema es un contenedor lógico que agrupa objetos de base de datos como tablas, vistas, índices, procedimientos almacenados, etc. Crear un nuevo esquema te permite organizar y gestionar tus objetos de base de datos de manera más eficiente. En esta guía, te mostraré cómo crear un nuevo esquema dentro de una base de datos Oracle Database Express Edition (XE) y los pasos necesarios para trabajar con él.
Paso 1: Conectar como usuario SYSDBA
Para realizar tareas administrativas como la creación de usuarios y la concesión de permisos, necesitas conectarte como usuario SYSDBA. Abre SQL*Plus y conecta como usuario SYSDBA utilizando el siguiente comando:
CONNECT / AS SYSDBA
Paso 2: Crear un nuevo esquema
Una vez conectado como SYSDBA, puedes crear un nuevo esquema utilizando el comando CREATE USER
. Por ejemplo, para crear un nuevo esquema llamado mi_primera_bd
, ejecuta el siguiente comando:
CREATE USER mi_primera_bd IDENTIFIED BY contraseña;
Este comando crea un nuevo esquema con el nombre mi_primera_bd
y establece una contraseña para él.Paso 3: Conceder permisos necesarios
Después de crear el nuevo esquema, necesitas conceder los permisos necesarios al nuevo usuario para que pueda realizar operaciones en la base de datos. Puedes hacerlo utilizando el comando GRANT
. Por ejemplo, para conceder permisos de conexión y recursos al nuevo esquema, ejecuta el siguiente comando:
GRANT CONNECT, RESOURCE TO mi_primera_bd;
mi_primera_bd
los permisos necesarios para conectarse a la base de datos y crear objetos de base de datos.Paso 4: Crear objetos de base de datos en el nuevo esquema
Una vez que hayas creado el nuevo esquema y concedido los permisos necesarios, puedes conectarte al nuevo esquema y empezar a crear objetos de base de datos como tablas, vistas, etc. Por ejemplo, para crear una tabla dentro del nuevo esquema, puedes ejecutar los comandos SQL habituales de creación de tablas.
CONNECT mi_primera_bd;
-- Tendremos que introducir la contraseña del usuario
2. Creación de Tablas:
Una vez que hemos creado la Base de Datos, podemos comenzar a definir las tablas que contendrán nuestros datos. Para crear una nueva tabla, utilizamos la sentencia CREATE TABLE
, donde especificamos el nombre de la tabla y las columnas que contendrá, junto con sus tipos de datos.
Las columnas son conocidas como los atributos de una tabla. Es importante recordar cerrar siempre los paréntesis y colocar las comas (,) o punto y comas (;) correspondientes, en caso de faltar o colocar alguna donde no toque, nos indicara un error a la hora de ejecutar la sentencia. Los atributos o columnas van siempre entre paréntesis y se utiliza la coma para separar los unos de los otros. La última columna no llevará coma detrás suya y al cerrar el paréntesis, indicaremos que la sentencia a finalizado con un punto y coma (;)
Ejemplo 1:
-- SINTAXIS BÁSICA --
CREATE TABLE nombreTabla (
ATRIBUTO1 TIPO_DE_DATO RESTRICCION,
ATRIBUTO2 TIPO_DE_DATO,
ATRIBUTO3 TIPO_DE_DATO,
);
-- EJEMPLO --
CREATE TABLE Empleados ( -- Creamos la tabla Empleados
ID INT PRIMARY KEY, -- NombreColumna = ID, TipoDeDato = INT, Restricción = PRIMARY KEY
Nombre VARCHAR(50),
Edad INT,
Salario DECIMAL(10, 2)
);
Esta sentencia crea una nueva tabla llamada «Empleados» con cuatro columnas: «ID» (INT = Número entero), «Nombre» (Varchar(50) = Cadena de caracteres de hasta 50 caracteres), «Edad» (INT = Número entero) y «Salario» (DECIMAL = Número decimal con un máximo de 10 dígitos, 2 de los cuales están reservados para decimales).
La columna «ID» también se define como clave primaria utilizando la cláusula PRIMARY KEY
, lo que significa que contendrá valores únicos para identificar cada fila de la tabla.
La creación de una Base de Datos y tablas es el primer paso para comenzar a trabajar con datos en SQL. Utilizamos las sentencias CREATE DATABASE
para crear la Base de Datos y CREATE TABLE
para crear las tablas dentro de esa Base de Datos. Es importante definir cuidadosamente la estructura de nuestras tablas, especificando los nombres y tipos de datos de las columnas, así como las restricciones como claves primarias si es necesario.
Ejemplo 2:
CREATE TABLE Departamento
(codigo CHAR(5) NOT NULL,
nombre VARCHAR(100) NOT NULL,
director VARCHAR(50),
telefono CHAR(11),
CONSTRAINT departamento_pk PRIMARY KEY (codigo));
CREATE TABLE Departamento
: Esta línea indica que estás creando una nueva tabla llamada Departamento
.
(codigo CHAR(5) NOT NULL,
: Aquí defines la primera columna de la tabla llamada codigo
. Está configurada como tipo CHAR(5)
, lo que significa que puede contener hasta 5 caracteres de longitud y será de tipo cadena de caracteres (carácter). NOT NULL
indica que este campo no puede tener valores nulos, es decir, siempre debe tener un valor.
nombre VARCHAR(100) NOT NULL,
: Esta línea define la segunda columna de la tabla llamada nombre
. Está configurada como tipo VARCHAR(100)
, lo que significa que puede contener hasta 100 caracteres de longitud y será de tipo cadena de caracteres variable. Al igual que con codigo
, NOT NULL
indica que este campo no puede ser nulo.
director VARCHAR(50),
: Aquí defines la tercera columna de la tabla llamada director
. Al igual que nombre
, es de tipo VARCHAR
, pero solo puede contener hasta 50 caracteres de longitud. No se incluye NOT NULL
, lo que significa que puede tener valores nulos, lo que indica que no todos los departamentos necesariamente tienen un director.
telefono CHAR(11),
: Esta línea define la cuarta columna de la tabla llamada telefono
. Está configurada como tipo CHAR(11)
, lo que significa que puede contener hasta 11 caracteres de longitud y será de tipo cadena de caracteres (carácter). Similar a director
, no se incluye NOT NULL
, lo que indica que puede tener valores nulos, ya que no todos los departamentos pueden tener un teléfono asociado.
CONSTRAINT departamento_pk PRIMARY KEY (codigo));
: Esta parte define una restricción de clave primaria en la columna codigo
. Esto significa que el valor en esta columna debe ser único para cada fila y no puede ser nulo. departamento_pk
es el nombre de la restricción de clave primaria.
Ejercicio Nº 1 : Mi primera tabla
Diseña y crea la siguiente tabla llamada «Camionero» en una base de datos Oracle:
Camionero: Esta tabla almacenará información sobre los camioneros contratados, incluyendo su identificación, nombre, teléfono, dirección, población y salario.
<< Resolución >>
3. Tipos de datos en SQL
3.1 Tipos de datos numéricos:
- INTEGER o INT: Representa números enteros. Pueden ser positivos, negativos o cero.
- FLOAT o REAL: Representa números de punto flotante (números decimales) con precisión simple.
- DOUBLE PRECISION o DOUBLE: Representa números de punto flotante con mayor precisión que FLOAT.
CREATE TABLE Ejemplo (
ID INT,
Precio FLOAT,
Cantidad INT
);
3.2 Tipos de datos de caracteres:
- CHAR(n): Almacena cadenas de caracteres de longitud fija, donde «n» especifica el número máximo de caracteres.
- VARCHAR(n): Almacena cadenas de caracteres de longitud variable, donde «n» especifica la longitud máxima permitida.
- TEXT: Almacena cadenas de caracteres de longitud variable de tamaño mucho mayor que VARCHAR.
Ejemplo:
CREATE TABLE Ejemplo (
Nombre VARCHAR(50),
Descripcion TEXT
);
Ejercicio Nº 2 : Tablas y atributos.
Diseña y crea las siguientes tablas en una base de datos Oracle:
- Camionero: Esta tabla almacenará información sobre los camioneros contratados, incluyendo su identificación, nombre, teléfono, dirección, población y salario. (Tabla creada en el ejercicio anterior.)
- Paquete: Esta tabla registrará los paquetes a entregar, con detalles como el código del paquete, descripción, destinatario, dirección del destinatario y el DNI del camionero asignado para su entrega.
- Provincia: En esta tabla se almacenarán las provincias relacionadas con los paquetes, junto con su código y nombre, además del código del paquete asociado.
- Camion: Aquí se registrarán los camiones utilizados en el transporte, incluyendo su matrícula, modelo, tipo y potencia.
- Camionero_Camion: Esta tabla establecerá la relación entre los camioneros y los camiones que conducen, mediante el registro de sus DNIs y las matrículas de los camiones asignados.
<< Resolución >>
3.3 Tipos de datos de fecha y hora:
- DATE: Almacena fechas en formato ‘YYYY-MM-DD’.
- TIME: Almacena horas en formato ‘HH:MM:SS’.
- DATETIME o TIMESTAMP: Almacena fecha y hora en formato ‘YYYY-MM-DD HH:MM:SS’.
Ejemplo:
CREATE TABLE Ejemplo (
FechaNacimiento DATE,
HoraRegistro TIMESTAMP
);
3.4 Otros tipos de datos:
- BOOLEAN: Almacena valores de verdad, generalmente representados como TRUE o FALSE.
- BLOB: Almacena grandes objetos binarios, como imágenes o archivos.
- ENUM: Permite especificar un conjunto de valores posibles para una columna.
Ejemplo:
CREATE TABLE Ejemplo (
Activo BOOLEAN,
Foto BLOB
);
Recuerda que la elección del tipo de dato adecuado es importante para garantizar la integridad y eficiencia de tus datos. Especificar tipos de datos más precisos y adecuados para tus columnas puede ayudar a optimizar el almacenamiento y el rendimiento de tus consultas.
Ejercicio Nº 3 : Tablas y atributos (Gestión de empleados).
Diseña y crea las siguientes tablas en una base de datos Oracle:
- Empleado: Esta tabla almacenará información básica sobre los empleados de una empresa, incluyendo su identificación, nombre, apellido, fecha de contratación, salario y departamento al que pertenecen.
- Proyecto: En esta tabla se registrarán los proyectos en los que están involucrados los empleados, con detalles como el código del proyecto, nombre, descripción y la fecha de inicio del proyecto.
- Departamento: Aquí se almacenarán los departamentos de la empresa, junto con su código, nombre y la ubicación física del departamento.
- Asignación: Esta tabla establecerá la relación entre los empleados y los proyectos en los que participan, mediante el registro de sus identificaciones y los códigos de proyecto correspondientes.
4. Restricciones básicas RIMARY KEY y FOREIGN KEY
Las claves primarias (PRIMARY KEY) y las claves externas (FOREIGN KEY) son restricciones en una base de datos relacional. En el contexto de una definición de tabla, se las conoce como restricciones de integridad, ya que imponen reglas sobre los datos almacenados en la tabla para garantizar su consistencia y coherencia.
4.1 Clave Primaria (PRIMARY KEY)
La clave primaria (Primary Key en inglés) es un concepto fundamental en las bases de datos relacionales. Representa un atributo o conjunto de atributos que identifican de manera única a cada fila en una tabla.
En términos más simples, la clave primaria es un identificador único para cada fila en una tabla. Ayuda a garantizar la integridad de los datos y facilita la identificación de registros individuales en una tabla.
Por ejemplo, para una tabla llamada «persona», podríamos asignar el atributo DNI como clave primaria, ya que cada DNI es único para cada persona. Otro ejemplo sería una tabla llamada «paquete», al cual podemos asignar una columna llamada «id_paquete» o «codigo_paquete», que sería la clave primaria o (PRIMARY KEY) para que identifique de forma única a cada paquete.
Características de una clave primaria:
Unicidad: Cada valor en la clave primaria debe ser único dentro de la tabla. No puede haber duplicados.
No nulidad: Los valores de la clave primaria no pueden ser nulos. Cada fila debe tener un valor válido en la clave primaria.
Invariabilidad: Los valores de la clave primaria no deben cambiar, o al menos no deberían cambiar con frecuencia. Cambiar el valor de una clave primaria podría causar problemas de integridad referencial en las tablas que hacen referencia a ella.
La definición de la clave primaria se realiza durante la creación de la tabla (CREATE TABLE)
mediante la sentencia PRIMARY KEY
, donde se especifica qué columna o conjunto de columnas actuarán como clave primaria.
Ejemplo:
En una tabla de «empleados«, la columna id_empleado
podría definirse como la clave primaria, ya que cada empleado tendría un identificador único.
CREATE TABLE Empleado (
id_empleado VARCHAR2(4) PRIMARY KEY,
nombre VARCHAR2(30),
apellido VARCHAR2(30),
fecha_contratacion DATE,
salario NUMBER(6,2),
departamento VARCHAR2(30)
);
Ejercicio Nº 4 : Aplicación de restricciones básicas (Tienda).
Identifica las posibles tablas, atributos, claves primarias y claves externas asociadas del siguiente escenario:
Estamos desarrollando una aplicación de gestión de inventarios para una tienda en línea que vende productos electrónicos. Los usuarios pueden ver los productos disponibles, agregarlos al carrito de compras y realizar pedidos. Cada producto tiene un nombre, una descripción, un precio y una cantidad disponible en inventario. También se almacena información sobre la categoría a la que pertenece cada producto. Para los clientes, la base de datos guarda el nombre, la dirección de correo electrónico y el número de teléfono. Los pedidos contienen información sobre los productos comprados, la cantidad de cada producto y la fecha del pedido.
Objetivos:
Identificar tablas, atributos, claves primarias y claves externas de una BD.
- Negrita –> Clave Primaria (Color amarillo).
- Subrayado –> Clave externa (Color verde).
4.2 Clave externa (FOREIGN KEY)
La clave externa (Foreign Key en inglés) es otro concepto importante en las bases de datos relacionales. Representa una relación entre dos tablas, donde la tabla que contiene la clave externa establece una relación con la tabla que contiene la clave primaria. En otras palabras, la clave externa en una tabla hace referencia a la clave primaria en otra tabla.
La clave externa se utiliza para mantener la integridad referencial entre las tablas. Esto significa que garantiza que cada valor en la columna de la clave externa de una tabla exista como un valor correspondiente en la columna de la clave primaria de la tabla relacionada.
Características de una clave externa:
Referencia a una clave primaria: La clave externa en una tabla hace referencia a la clave primaria en otra tabla.
Garantiza integridad referencial: La clave externa asegura que no se puedan insertar valores que no existan en la tabla relacionada.
Permite la creación de relaciones: Las claves externas permiten establecer relaciones entre diferentes tablas en la base de datos.
La definición de la clave externa se realiza también durante la creación de la tabla mediante la sentencia FOREIGN KEY
. En la definición de la clave externa, se especifica qué columna o conjunto de columnas actuarán como clave externa y a qué tabla y columna hace referencia.
Ejemplo:
En una tabla llamada «Asignación» de asignaciones de proyectos, la columna id_empleado
podría definirse como una clave externa (FOREIGN KEY) que hace referencia (REFERENCES) a la columna id_empleado
en la tabla «Empleado«.
CREATE TABLE Empleado (
id_empleado VARCHAR2(4) PRIMARY KEY,
nombre VARCHAR2(30),
salario NUMBER(6.2);
);
CREATE TABLE Proyecto (
cod_proyecto VARCHAR2(4) PRIMARY KEY,
nombre VARCHAR2(30),
presupuesto NUMBER(6.2);
);
CREATE TABLE Asignacion (
id_empleado VARCHAR2(4),
cod_proyecto VARCHAR2(4),
--Calve externa que relaciona nuestra columna id_empleado con la columna id_empleado de la tabla Empleado
FOREIGN KEY (id_empleado) REFERENCES Empleado(id_empleado),
--Calve externa que relaciona nuestra columna cod_proyecto con la columna cod_proyecto de la tabla Proyecto
FOREIGN KEY (cod_proyecto) REFERENCES Proyecto(cod_proyecto)
);
En este ejemplo, las columnas id_empleado
y cod_proyecto
en la tabla Asignacion
se definen como claves externas que hacen referencia a las claves primarias correspondientes en las tablas Empleado
y Proyecto
, respectivamente. Esto establece una relación entre las tablas y garantiza la integridad referencial entre ellas.
Ejercicio Nº 5 : Identificación de tablas, atributos y restricciones.
Identifica las posibles tablas, atributos, claves primarias y claves externas asociadas del siguiente escenario:
Estamos realizando una aplicación de películas en streaming donde los usuarios pueden examinar el catálogo de películas y seleccionar los productos que deseen.
Cada película tiene un título, año, género y descripción. También conserva la información del director y de la distribuidora de cualquier película.
Para los directores, la base de datos conserva el nombre, la fecha de nacimiento, la biografía y la URL de su página personal.
Para las distribuidoras, la base de datos conserva el nombre, el CIF, el número de teléfono, el email y la URL de su sitio web.
Objetivos:
Identificar tablas, atributos, claves primarias y claves externas de una BD.
- Negrita –> Clave Primaria (Color amarillo).
- Subrayado –> Clave externa (Color verde).
<< Resolución >>
Ejercicio Nº 6 : Aplicación de restricciones (Paquetería).
Se pide añadir sobre las tablas creadas anteriormente las restricciones de clave primaria
y clave externa utilizando ALTER TABLE, para ello seguir las indicaciones del grafo
relacional siguiente:
- CAMIONERO (dni, nombre, teléfono dirección, población, salario)
- PAQUETE (cod_paquete, descripción, destinatario, dirección_destinatario,
dni_camionero) - PROVINCIA (cod_provincia, nombre, cod_paquete)
- CAMION (matrícula, modelo, tipo, potencia)
- CAMIONERO_CAMION (dni, matricula)
- Negrita –> Clave Primaria
- Subrayado –> Clave externa.
<< Resolución >>
Ejercicio Nº 7 : Creación de tablas y aplicación de restricciones.
Tomando como referencia el modelo relacional, se solicita crear las sentencias SQL de creación de tablas y sus restricciones:
- Crear las tablas especificadas en el grafo relacional, teniendo en cuenta las reglas de nomenclatura en la creación de las mismas.
- Seleccionar el tipo de dato más adecuado para cada una de las columnas que conforman cada una de las tablas.
- Establecer las restricciones de clave primaria en cada una de las tablas.
- Establecer las restricciones de clave externa que sean necesarias.
- ASIENTO(NUMEO_ASIENTO, ID_AVION, CARACTERÍSTICAS)
- AVION (ID_AVION, NOMBRE, DESCRIPCIÓN, FECHA)
- BILLETE (COD_BILLETE, NOMBRE, APELLIDOS, NUMERO_ASIENTO, ID_AVION)
- Negrita –> Clave Primaria (Color amarillo).
- Subrayado –> Clave externa (Color verde).
<< Resolución >>
5. Manipulación de Datos con SQL
La manipulación de datos en SQL implica realizar diversas operaciones para insertar, consultar, actualizar y eliminar datos en una Base de Datos. A continuación, te presento una explicación de cada una de estas operaciones:
5.1 Inserción de datos:
La inserción de datos se realiza utilizando la sentencia INSERT INTO
, que permite agregar nuevos registros a una tabla.
Sintaxis:
INSERT INTO nombre_de_la_tabla (columna1, columna2, ...)
VALUES (valor1, valor2, ...);
Ejemplo: En el siguiente ejemplo se muestra como crear un nuevo registro en la table «Empleados» con los datos «Nombre = Alberto», DNI=»99887766E» » y «Salario = 2500.00». Con la sentencia INSERT INTO especificamos en que tabla queremos crear el nuevo registro y cuales son los atributos que vamos a introducir, y con la sentencia VALUES especificamos los valores de los atributos en el mismo orden en el que los hemos especificado anteriormente.
INSERT INTO Empleados (DNI, Nombre, Salario)
VALUES ('99887766E', 'Alberto', 2500.00);
Ejercicio Nº 8 : Inserción de datos en tablas existentes
A continuación, se te proporcionarán una serie de valores para cada tabla de una base de datos ya creada. Tu tarea es insertar estos datos en las tablas del ejercicio anterior (tablas del ejercicio 5) utilizando la sentencia INSERT INTO
.
Las tablas y sus atributos son las siguientes:
- CAMIONERO (dni, nombre, teléfono, dirección, población, salario)
- PAQUETE (cod_paquete, descripción, destinatario, dirección_destinatario, dni)
- PROVINCIA (cod_provincia, nombre, cod_paquete)
- CAMION (matrícula, modelo, tipo, potencia)
- CAMIONERO_CAMION (dni, matrícula)
A continuación se presentan los valores que deberás insertar en cada tabla:
CAMIONERO:
- (12345678A, ‘Juan Pérez’, ‘123456789’, ‘Calle Principal 123’, ‘Ciudad A’, 2000.00)
- (987654321, ‘María López’, ‘987654321’, ‘Avenida Central 456’, ‘Ciudad B’, 1800.50)
PAQUETE:
- (1001, ‘Electrodomésticos’, ‘Pedro García’, ‘Calle Secundaria 456’, 123456789)
- (1002, ‘Libros’, ‘Ana Martínez’, ‘Plaza Mayor 789’, 987654321)
PROVINCIA:
- (1, ‘Provincia A’, 1001)
- (2, ‘Provincia B’, 1002)
CAMION:
- (‘ABC123’, ‘Volvo’, ‘Carga’, 300)
- (‘DEF456’, ‘Mercedes’, ‘Pasajeros’, 250)
CAMIONERO_CAMION:
- (123456789, ‘ABC123’)
- (987654321, ‘DEF456’)
<< Resolución >>
5.2 Consultas:
Las consultas se realizan utilizando la sentencia SELECT
, que permite recuperar datos de una o más tablas según ciertos criterios.
Sintaxis:
SELECT columnas FROM nombre_de_la_tabla WHERE condiciones;
5.2.1 Ver todas las tablas de una sesión
Para ver todas las tablas existentes en una base de datos en SQL*Plus, puedes utilizar la vista del diccionario de datos llamada USER_TABLES
. Esta vista muestra todas las tablas propias del usuario actual. Aquí tienes cómo puedes consultarla:
SELECT table_name FROM user_tables;
5.2.2 Ver todas las columnas de una tabla
Si por ejemplo, queremos mostrar todas las columnas de una tabla, podemos hacer a referencia a todas las columnas utilizando el asterisco * :
SELECT * FROM nombre_tabla;