Sei sulla pagina 1di 43

I

Introducción

Copyright © Oracle Corporation. Todos los Derechos Reservados.


Sistema de Gestión de Bases de Datos
Relacionales y Relacionales de Objetos

• Modelo relacional y modelo relacional de objetos


• Tipos de dato y objetos definidos por el usuario
• Totalmente compatible con base de datos
relacional
• Soporte de multimedia y objetos grandes
• Funciones de servidor de base de datos de alta
calidad

I-7 Copyright © Oracle Corporation. Todos los Derechos Reservados.


Ciclo de Vida del Desarrollo del Sistema

Estrategia
y análisis
Diseño
Creación
y documentación

Transición

Producción

I-9 Copyright © Oracle Corporation. Todos los Derechos Reservados.


Almacenamiento de Datos en
Diferentes Soportes

Base de
datos
Hoja de cálculo
Archivador
electrónica

I-11 Copyright © Oracle Corporation. Todos los Derechos Reservados.


Almacenamiento de Datos en
Diferentes Soportes

Base de
datos
Hoja de cálculo
Archivador
electrónica

I-11 Copyright © Oracle Corporation. Todos los Derechos Reservados.


Concepto de Base de Datos Relacional

• Dr. E.F. Codd propuso el modelo relacional para


sistemas de base de datos en 1970.
• Es la base para el sistema de gestión de bases de
datos relacionales (RDBMS).
• El modelo relacional consta de:
– Recopilación de objetos o relaciones
– Juego de operadores que actúan en las
relaciones
– Integridad de datos para obtener precisión y
consistencia

I-12 Copyright © Oracle Corporation. Todos los Derechos Reservados.


Definición de una Base de
Datos Relacional

Una base de datos relacional es una recopilación de


relaciones o tablas de dos dimensiones.

Oracle
server

Nombre de Tabla : Nombre de Tabla:


EMPLOYEES DEPARTMENTS

… …

I-13 Copyright © Oracle Corporation. Todos los Derechos Reservados.


Modelos de Datos

Idea del
cliente del
modelo del Modelo de entidad
sistema del modelo
del cliente
Modelo de tabla
del modelo Oracle
de entidad server

Tablas en disco

I-14 Copyright © Oracle Corporation. Todos los Derechos Reservados.


Modelo de Relación entre Entidades

•• Cree
Cree un
un diagrama
diagrama de
de relación
relación entre
entre entidades
entidades aa partir
partir
de
de descripciones
descripciones oo especificaciones
especificaciones de
de negocios
negocios

EMPLOYEE DEPARTMENT
asignado a
#* número #* número
* nombre * nombre
compuesto de
o cargo o ubicación

•• Supuesto
Supuesto
–– “.
“. .. .. Asigne
Asigne uno
uno oo más
más empleados
empleados aa un
un
departamento
departamento .. .. .”.”
–– “.
“. .. .. Algunos
Algunos departamentos
departamentos aún
aún no
no tienen
tienen
empleados
empleados asignados.
asignados. .. .”
.”

I-15 Copyright © Oracle Corporation. Todos los Derechos Reservados.


Convenciones de Modelo
de Relaciones entre Entidades
Entidad Atributo
Recuadro flexible Nombre en singular
Nombre singular y único Minúsculas
Mayúsculas Obligatorio marcado con “*”
Sinónimo entre paréntesis Opcional marcado con “o”

EMPLOYEE asignado a DEPARTMENT


#* número #* número
* nombre * nombre
compuesto de
o cargo o ubicación

Identificador Único (UID)


Principal marcado con “#”
Secundario marcado con “(#)”

I-17 Copyright © Oracle Corporation. Todos los Derechos Reservados.


Relación de Varias Tablas

• Cada fila de datos de una tabla se identifica de


forma única con una clave primaria (PK).
• Se pueden relacionar de forma lógica datos de
varias tablas utilizando claves ajenas (FK).
Nombre de Tabla: DEPARTMENTS
Nombre de Tabla: EMPLOYEES


Clave primaria Clave ajena Clave primaria

I-19 Copyright © Oracle Corporation. Todos los Derechos Reservados.


Terminología de Bases de Datos Relacionales
3 4
2

I-20 Copyright © Oracle Corporation. Todos los Derechos Reservados.


Propiedades de las Bases de
Datos Relacionales

Una base de datos relacional:


• Se puede acceder a ella y modificarla ejecutando
sentencias de lenguaje estructurado de consulta
(SQL).
• Contiene una recopilación de tablas sin punteros
físicos.
• Utiliza un juego de operadores.

I-21 Copyright © Oracle Corporation. Todos los Derechos Reservados.


Comunicación con un RDBMS
Utilizando SQL
SQL statement
is entered. Se envía la sentencia
SELECT
SELECT department_name
department_name a Oracle Server.
FROM
FROM departments;
departments;

Oracle
server

I-22 Copyright © Oracle Corporation. Todos los Derechos Reservados.


Sistema de Gestión de Bases de
Datos Relacionales

Oracle
server

Tablas de Diccionario
usuario de datos

I-23 Copyright © Oracle Corporation. Todos los Derechos Reservados.


Sentencias SQL
SELECT Recuperación de datos
INSERT
UPDATE Lenguaje de manipulación
DELETE de datos (DML)
MERGE
CREATE
ALTER
DROP Lenguaje de definición
RENAME de datos (DDL)
TRUNCATE
COMMIT
ROLLBACK Control de transacciones
SAVEPOINT
GRANT Lenguaje de control
REVOKE de datos (DCL)

I-24 Copyright © Oracle Corporation. Todos los Derechos Reservados.


Tablas Utilizadas en el Curso
EMPLOYEES

DEPARTMENTS JOB_GRADES

I-25 Copyright © Oracle Corporation. Todos los Derechos Reservados.


1
Escritura de Sentencias
SQL SELECT Básicas

Copyright © Oracle Corporation. Todos los derechos reservados.


Objetivos

Al finalizar esta lección, debería estar capacitado


para:
• Enumerar las capacidades de las sentencias SQL
SELECT
• Ejecutar una sentencia SELECT básica
• Diferenciar entre sentencias SQL y comandos
iSQL*Plus

1-2 Copyright © Oracle Corporation. Todos los derechos reservados.


Capacidades de las Sentencias SQL SELECT

Proyección Selección

Tabla 1 Tabla 1

Unión

Tabla 1 Tabla 2

1-3 Copyright © Oracle Corporation. Todos los derechos reservados.


Sentencias SELECT Básicas

SELECT
SELECT *|{[DISTINCT] column|expression [alias],...}
*|{[DISTINCT] column|expression [alias],...}
FROM
FROM table;
table;

• SELECT identifica las columnas what


• FROM identifica la tabla which

1-4 Copyright © Oracle Corporation. Todos los derechos reservados.


Selección de Todas las Columnas

SELECT *
FROM departments;

1-5 Copyright © Oracle Corporation. Todos los derechos reservados.


Escritura de Sentencias SQL

• Las sentencias SQL no son sensibles a


mayúsculas/minúsculas.
• Las sentencias SQL pueden ocupar una o más líneas.
• Las palabras clave no se pueden abreviar ni dividir
entre líneas.
• Las cláusulas suelen estar colocadas en líneas
separadas.
• Los sangrados se utilizan para mejorar la legibilidad.

1-7 Copyright © Oracle Corporation. Todos los derechos reservados.


Valores por Defecto de Cabecera de Columna

• iSQL*Plus:
– Justificación de cabecera por defecto: Centro
– Visualización de cabecera por defecto: Mayúsculas
• SQL*Plus:
– Las cabeceras de la columna de fecha y carácter
están justificadas a la izquierda
– Las cabeceras de columna de número están
justificadas a la derecha
– Visualización de cabecera por defecto: Mayúsculas

1-8 Copyright © Oracle Corporation. Todos los derechos reservados.


Expresiones Aritméticas

Cree expresiones con datos de número y fecha mediante


operadores aritméticos.

Operador Descripción

+ Suma

- Resta

* Multiplicación

/ División

1-9 Copyright © Oracle Corporation. Todos los derechos reservados.


Uso de Operadores Aritméticos

SELECT last_name, salary, salary + 300


FROM employees;

1-10 Copyright © Oracle Corporation. Todos los derechos reservados.


Prioridad de Operador

_
* / +
• La multiplicación y la división tienen prioridad sobre la
suma y la resta.
• Los operadores de idéntica prioridad se evalúan de
izquierda a derecha.
• Los paréntesis se utilizan para forzar evaluaciones
prioritarias y para clarificar sentencias.

1-11 Copyright © Oracle Corporation. Todos los derechos reservados.


Prioridad de Operador

SELECT last_name, salary, 12*salary+100


FROM employees;

1-12 Copyright © Oracle Corporation. Todos los derechos reservados.


Uso de Paréntesis

SELECT last_name, salary, 12*(salary+100)


FROM employees;

1-13 Copyright © Oracle Corporation. Todos los derechos reservados.


Definición de un Valor Nulo

• Un valor nulo es un valor no disponible, no asignado,


desconocido, o no aplicable.
• Un valor nulo no es lo mismo que cero ni que un
espacio en blanco.

SELECT last_name, job_id, salary, commission_pct


FROM employees;

1-14 Copyright © Oracle Corporation. Todos los derechos reservados.


Valores Nulos
en Expresiones Aritméticas

Las expresiones aritméticas que contienen un valor


nulo tienen una evaluación nula.
SELECT last_name, 12*salary*commission_pct
FROM employees;

1-15 Copyright © Oracle Corporation. Todos los derechos reservados.


Definición de un Alias de Columna

Un alias de columna:
• Cambia el nombre de una cabecera de columna.
• Resulta útil con cálculos.
• Se sitúa inmediatamente detrás del nombre de la
columna, también puede existir la palabra clave
opcional AS entre el nombre de la columna y el alias.
• Requiere comillas dobles si contiene espacios,
caracteres especiales o si es sensible a
mayúsculas/minúsculas.

1-16 Copyright © Oracle Corporation. Todos los derechos reservados.


Uso de Alias de Columna

SELECT last_name AS name, commission_pct comm


FROM employees;

SELECT last_name "Name", salary*12 "Annual Salary"


FROM employees;

1-17 Copyright © Oracle Corporation. Todos los derechos reservados.


Operador de Concatenación

Un operador de concatenación:
• Concatena columnas o cadenas de caracteres a otras
columnas.
• Está representado por dos barras verticales (||).
• Crea una columna resultante que es una expresión de
caracteres.

1-18 Copyright © Oracle Corporation. Todos los derechos reservados.


Uso del Operador de Concatenación

SELECT last_name||job_id AS "Employees"


FROM employees;

1-19 Copyright © Oracle Corporation. Todos los derechos reservados.


Cadenas de Caracteres Literales

• Un literal es un carácter, un número o una fecha


incluida en la lista SELECT.
• Los valores literales de caracteres y fecha se deben
escribir entre comillas simples.
• Cada cadena de caracteres tiene una salida para cada
fila devuelta.

1-20 Copyright © Oracle Corporation. Todos los derechos reservados.


Uso de Cadenas de Caracteres Literales

SELECT last_name ||’ is a ’||job_id


AS "Employee Details"
FROM employees;

1-21 Copyright © Oracle Corporation. Todos los derechos reservados.


Filas Duplicadas

La visualización por defecto de las consultas son


todas las filas, incluidas las filas duplicadas.
SELECT
SELECT department_id
department_id
FROM
FROM employees;
employees;

1-22 Copyright © Oracle Corporation. Todos los derechos reservados.


Eliminación de Filas Duplicadas

Elimine filas duplicadas mediante la palabra clave


DISTINCT de la cláusula SELECT.
SELECT DISTINCT department_id
FROM employees;

1-23 Copyright © Oracle Corporation. Todos los derechos reservados.


Visualización de la Estructura de Tabla

Utilice el comando DESCRIBE de iSQL*Plus para ver


la estructura de una tabla.

DESC[RIBE]
DESC[RIBE] tablename
tablename

1-29 Copyright © Oracle Corporation. Todos los derechos reservados.


Visualización de la Estructura de Tabla

DESCRIBE
DESCRIBE employees
employees

1-30 Copyright © Oracle Corporation. Todos los derechos reservados.


Visión General de la Práctica 1

Esta práctica cubre los siguientes temas:


• Selección de todos los datos de tablas diferentes
• Descripción de la estructura de las tablas
• Realización de cálculos aritméticos y especificación de
nombres de columna
• Uso de iSQL*Plus

1-35 Copyright © Oracle Corporation. Todos los derechos reservados.


PRACTICE 1

1. Show the structure of the DEPARTMENTS table. Select all data the table.

2. Show the structure of the EMPLOYEES table.

3. Select all data the EMPLOYEES table.

4. Create a query to display unique job codes from EMPLOYEES table.

5. Select all data the EMPLOYEES table, with the columns heading EMP #,
Employee, Job, and Hire Date, respectuvely.

6. Display the last name concatenated with the job ID, separated by a comma and
space, and name column Employee and Title.

1-31 Copyright © Oracle Corporation, 2001. All rights reserved.

Potrebbero piacerti anche