You are on page 1of 55

Introduccin

Lasthomework.blogspot.com

Almacenamiento de Datos
SALGRADE
GRADE LOSAL HISAL --------- --------- --------DEPT 1 700 1200 DEPTNO DNAME LOC 2 1201 1400 --------- -------------- ---------3 1401 2000 10 ACCOUNTING NEW YORK 4 2001 3000 20 RESEARCH DALLAS 5 3001 9999 30 SALES CHICAGO 40 OPERATIONS BOSTON

Base de Datos Hoja de Clculo


1-2

Archivo

Concepto de B.D. Relacional



El Dr. E. F. Codd propuso el modelo relacional para sistemas de bases de datos en 1970. Constituye la base para el sistema manejador de bases de datos relacionales (RDBMS). El modelo relacional contiene los siguientes componentes:

Coleccin de objetos o relaciones Conjunto de operaciones para actuar sobre


las relaciones

Integridad de datos por precisin y


consistencia
1-3

Definicin de B.D. Relacional


Una Base de Datos Relacional es un conjunto de relaciones o tablas bidimensionales.
Database

Nombre Tabla: EMP


EMPNO DEPTNO 7839 10 7698 7782 10 7566 1-4 ENAME KING BLAKE CLARK JONES JOB PRESIDENT MANAGER MANAGER MANAGER 20 30

Nombre Tabla : DEPT


DEPTNO 10 20 30 40 DNAME ACCOUNTING RESEARCH SALES OPERATIONS LOC NEW YORK DALLAS CHICAGO BOSTON

Modelos de Datos

Modelo del Sistema que el cliente tiene en mente

Modelo de Entidades a partir del modelo del cliente

Paso a las Tablas, partiendo del modelo de entidades

Servidor

Tablas en Disco
1-5

Modelo Entidad-Relacin

Crear un diagrama entidad-relacin a partir de especificaciones de la empresa.

CUSTOMER #* id * name o phone

asignado a es representante de ventas para

EMPLOYEE #* id * last name o first name

Escenario

". . . A un vendedor se le asigna uno o ms clientes . . ."

". . . A algunos vendedores an no se le


han asignado clientes . . ."
1-6

Convenciones para el Modelo ER


Entidad Caja con bordes redondeados, con nombre nico, singular, en maysculas Sinnimos entre parntesis

Atributo Nombre singular en minsculas Si es obligatorio se marca con * Si es opcional se marca con "o"

CUSTOMER #* id * name o phone

asignado a

EMPLOYEE #* id last name es representante * de ventas para o first name

Identificador Unico (UID) Primario marcado con "(*)" Secundario marcado con "(#)"
1-7

Convenciones para el Modelo ER


Entidad Caja con bordes redondeados, con nombre nico, singular, en maysculas Sinnimos entre parntesis

Atributo Nombre singular en minsculas Si es obligatorio se marca con * Si es opcional se marca con "o"

EMPLOYEE #* number * name o job title

DEPARTMENT #* number * name o location

Identificador Unico (UID) Primario marcado con "(*)" Secundario marcado con "(#)"
1-8

Terminologa de una B.D. Relacional


2
EMPNO ENAME JOB

3
MGR HIREDATE SAL

4
COMM DEPTNO ----------10 30 10 20 1400 300 30 30

------------- ------------ --------------------- -------- ---------------- ----------- -------------7839 KING 7698 BLAKE 7782 CLARK 7566 JONES 7654 MARTIN 7499 ALLEN PRESIDENT MANAGER MANAGER MANAGER SALESMAN SALESMAN 7839 7839 7839 7698 7698 17-NOV-81 01-MAY-81 09-JUN-81 02-APR-81 28-SEP-81 20-FEB-81 5000 2850 2450 2975 1250 1600

7844 TURNER SALESMAN


7900 JAMES 7521 WARD 7902 FORD 7369 7788 7876 SMITH SCOTT ADAMS MILLER CLERK SALESMAN ANALYST CLERK ANALYST CLERK CLERK

7698
7698 7698 7566 7902 7566 7788 7782

08-SEP-81
03-DEC-81 22-FEB-81 03-DEC-81 17-DEC-80 09-DEC-82 12-JAN-83 23-JAN-82

1500
950 1250 3000 800 3000 1100 1300

30
30

500

30 20 20 20 20 10

1
1-9

7934

Relaciones entre Tablas


Cada fila de datos en una tabla esta identificada
unvocamente por una clave primaria (Primary Key: PK).

Se puede relacionar informacin de mltiples tablas lgicamente usando claves forneas (Foreign Key: FK).
Nombre Tabla : DEPT
DEPTNO 10 20 30 40 DNAME ACCOUNTING RESEARCH SALES OPERATIONS LOC NEW YORK DALLAS CHICAGO BOSTON EMPNO DEPTNO 7839 10 7698 7782 10 7566 ENAME KING BLAKE CLARK JONES JOB PRESIDENT MANAGER MANAGER MANAGER 30

Nombre Tabla: EMP

20

Primary Key
1-10

Foreign key

Primary key

Propiedades de las B.D. Relacionales


Una Base de Datos Relacional:

Acceso y modificacin de objetos en la base de datos ejecutando comandos del Lenguaje de Consulta Estructurado (SQL). Contiene una coleccin de tablas sin punteros lgicos.

Utiliza un conjunto de operaciones.

1-11

Comunicacin con un RDBMS Usando SQL


Se introduce la sentencia SQL
SQL> SELECT loc 2 FROM dept;

La Sentencia se enva a la B.D.

B.D.

Resultado
LOC ------------NEW YORK DALLAS CHICAGO BOSTON

1-12

Oracle8: Object Relational Database Management System


Servidor

Tablas de Usuario
1-13

Diccionario de Datos

Object Relational Database Management System


Tipos de datos y objetos, definidos por el usuario. Compatible con Relacional 100% Soporte multimedia y de LOBs

Prestaciones del servidor de alta calidad.

1-14

Definicin de un Objecto
Un objeto:

Es una persona, lugar o cosa.


Sabe cosas sobre si mismo y realiza acciones.

Tiene una identidad.

Yo soy un reloj. S mi zona horaria y puedo decirte la hora

1-15

Usando un Objeto Modelo


Los objetos modelan la resolucin de un problema. El modelo est definido en trminos de la interaccin entre los objetos. Se acercan a la realidad.
Compra Venta

Clientes
1-16

Negocio

Caractersticas de los Sist. de Objetos


Presentan informacin como objetos. Clasifican a los objetos segn tipos.

Heredan cdigo y atributos.


Ocultan datos, cdigo y atributos. Interactan con otros objetos.

Reconocen diferentes objetos sin previo anlisis.


Interpretan el mismo comando de diferentes maneras.
1-17

Solucin Completa de ORACLE


Aplicaciones: HR Financials Manufacturing ... Oracle Developer O. Discoverer Oracle Designer

SQL

PL/SQL

SQL* Plus

Oracle7/8

B.D.

Diccionario de Datos Tablas de Datos

1-18

Comandos SQL
SELECT INSERT UPDATE DELETE CREATE ALTER DROP RENAME TRUNCATE COMMIT ROLLBACK SAVEPOINT GRANT REVOKE
1-19

Recuperacin de Datos

Manipulacin de Datos (DML)

Definicin de Datos (DDL)

Control de Transacciones

Control de Datos (DCL)

Qu es PL/SQL?
PL/SQL es una extensin de SQL con caractersticas de los lenguajes de prog. Sentencias de manipulacin y consulta de datos, se incluyen sin tener que desarrollar programas.

1-20

Tablas Utilizadas en el Curso


EMP
EMPNO --------7839 7698 7782 7566 7654 7499 7844 7900 ENAME ---------KING BLAKE CLARK JONES MARTIN ALLEN TURNER JAMES JOB MGR HIREDATE SAL COMM DEPTNO --------- --------- --------- --------- --------- --------PRESIDENT 17-NOV-81 5000 10 MANAGER 7839 01-MAY-81 2850 30 MANAGER MANAGER SALESMAN SALESMAN SALESMAN CLERK 7839 7839 7698 7698 7698 7698 09-JUN-81 02-APR-81 28-SEP-81 20-FEB-81 08-SEP-81 03-DEC-81 1500 2975 1250 1600 1500 950 10 20 30 30 30 30

1400 300 0

DEPT
DEPTNO ---------

10 20 30 40

7521 WARD DNAME 7902 FORD -------------7369 SMITH ACCOUNTING 7788 SCOTT RESEARCH 7876 ADAMS SALES 7934 MILLER OPERATIONS

SALESMAN LOC ANALYST ---------CLERK NEW YORK ANALYST DALLAS CLERK CHICAGO CLERK BOSTON

7698 7566 7902 7566 7788 7782

22-FEB-81 03-DEC-81 17-DEC-80 09-DEC-82 12-JAN-83 23-JAN-82

1250 500 30 SALGRADE 3000 20 800 20 GRADE LOSAL HISAL 3000 20 --------- --------- --------1100 1 20 700 1200 1300 2 10 1201 1400 3 1401 2000 4 2001 3000 5 3001 9999

1-21

Resumen
Las B.D. Relacionales:
Compuestas de Relaciones.

Gestionadas por operadores relacionales.


Gobernadas por restricciones de

integridad de datos.

Oracle8 est basado en un ORDBMS Object Relational Database Management System.


Oracle8 permite almacenar y gestionar informacin por medio de SQL y PL/SQL.
1-22

Escritura Bsica de Sentencias SQL

Objetivos
Al completar esta leccin, debera ser capaz de hacer lo siguiente:

Enumerar las posibilidades de una sentencia SELECT de SQL


Ejecutar una sentencia bsica SELECT Diferenciar entre sentencias SQL y comandos de SQL*PLUS

1-24

La Sentencia SELECT de SQL


Seleccin Projeccin

Tabla 1

Join

Tabla 1

Tabla 1
1-25

Tabla 2

Sentencia Bsica SQL


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

SELECT identifica qu columnas FROM identifica qu tablas

1-26

Escritura de Sentencias SQL



Los Comandos pueden constar de una o varias lneas. Las tabulaciones e indentaciones pueden ser usadas por comodidad. Las abreviaturas y separacin de palabras no estn permitidas. Los Comandos no son case sensitive.

1-27

Seleccin de Todas las Columnas


SQL> SELECT * 2 FROM dept; DEPTNO --------10 20 30 40 DNAME -------------ACCOUNTING RESEARCH SALES OPERATIONS LOC ------------NEW YORK DALLAS CHICAGO BOSTON

1-28

Seleccin Especfica de Columnas


SQL> SELECT deptno, loc 2 FROM dept; DEPTNO --------10 20 30 40 LOC ------------NEW YORK DALLAS CHICAGO BOSTON

1-29

Etiquetas de Columnas por Defecto

Justificacin de la etiqueta por defecto:

Izquierda: fechas y caracteres Derecha: datos numricos

Las etiquetas por defecto se muestran en maysculas.

1-30

Expresiones Aritmticas
Crear expresiones sobre tipos de datos NUMERICOS y FECHAS usando operadores.
Operador + Descripcin Suma Resta

*
/

Multiplicacin
Divisin

1-31

Uso de Operadores Aritmticos


SQL> SELECT ename, sal, sal+300 2 FROM emp; ENAME SAL SAL+300 ---------- --------- --------KING 5000 5300 BLAKE 2850 3150 CLARK 2450 2750 JONES 2975 3275 MARTIN 1250 1550 ALLEN 1600 1900 ... 14 rows selected.

1-32

Precedencia de Operadores

* / +

La multiplicacin y la divisin tienen prioridad sobre la suma y la resta.

Los operadores de la misma prioridad se evalan de izquierda a derecha.


Los parntesis pueden ser usados para cambiar la prioridad de evaluacin y para clarificar las sentencias.

1-33

Precedencia de Operadores
SQL> SELECT ename, sal, 12*sal+100 2 FROM emp; ENAME SAL 12*SAL+100 ---------- --------- ---------KING 5000 60100 BLAKE 2850 34300 CLARK 2450 29500 JONES 2975 35800 MARTIN 1250 15100 ALLEN 1600 19300 ... 14 rows selected.

1-34

Uso de Parntesis
SQL> SELECT ename, sal, 12*(sal+100) 2 FROM emp; ENAME SAL 12*(SAL+100) ---------- --------- ----------KING 5000 61200 BLAKE 2850 35400 CLARK 2450 30600 JONES 2975 36900 MARTIN 1250 16200 ... 14 rows selected.

1-35

Definicin del Valor NULL


NULL es un valor que es inaccesible, sin valor desconocido o inaplicable.

NULL no representa ni un cero (0) ni un espacio en blanco.


ename, job, comm emp;

SQL> SELECT 2 FROM

ENAME JOB COMM ---------- --------- --------KING PRESIDENT BLAKE MANAGER ... TURNER SALESMAN 0 ... 14 rows selected.
1-36

Valores NULL en Expresiones Aritmticas


Las expresiones aritmticas que contengan un Null se evaluan a Null.
SQL> select ename NAME, 12*sal+comm 2 from emp 3 WHERE ename='KING';

NAME 12*SAL+COMM ---------- ----------KING

1-37

Definicin de un Alias de Columna

Un Alias de columna renombra un encabezamiento de columna.

Es til especialmente en clculos. Sigue inmediatamente al nombre de la


columna.

Palabra clave opcional AS entre el nombre


de la columna y el alias.

Se requiere encerrar un alias entre comillas dobles si contiene espacios en blanco, caracteres especiales o es case sensitive.

1-38

Uso de Alias de Columna


SQL> SELECT ename AS name, sal salary 2 FROM emp;

NAME SALARY ------------- --------... SQL> SELECT ename "Name", 2 sal*12 "Annual Salary" 3 FROM emp;
Name Annual Salary ------------- ------------...
1-39

Operador de Concatenacin
El operador de concatenacin:

Esta representado por dos barras verticales (||). Vincula columnas o cadenas de caracteres con otras columnas. Crea una columna resultado que es una expresin de tipo caracter.

1-40

Uso del Operador de Concatenacin


SQL> SELECT 2 FROM ename||job AS "Employees" emp;

Employees ------------------KINGPRESIDENT BLAKEMANAGER CLARKMANAGER JONESMANAGER MARTINSALESMAN ALLENSALESMAN ... 14 rows selected.
1-41

Cadenas de Caracteres

Un literal es un caracter, expresin o nmero incluido en la lista de la clusula SELECT. Los valores literales de tipo fecha y caracter deben estar encerrados dentro de comillas simples. Por cada fila devuelta se genera una cadena de caracteres.

1-42

Uso de Cadenas de Caracteres


SQL> SELECT ename ||' '||'is a'||' '||job 2 AS "Employee Details" 3 FROM emp; Employee Details ------------------------KING is a PRESIDENT BLAKE is a MANAGER CLARK is a MANAGER JONES is a MANAGER MARTIN is a SALESMAN ... 14 rows selected.

1-43

Filas Duplicadas
Las consultas, por defecto, muestran todas las filas incluyendo las duplicadas.
SQL> SELECT deptno 2 FROM emp;

DEPTNO --------10 30 10 20 ... 14 rows selected.

1-44

Eliminacin de Filas Duplicadas


Las filas duplicadas se eliminan usando DISTINCT en la clusula SELECT.
SQL> SELECT DISTINCT deptno 2 FROM emp;

DEPTNO --------10 20 30

1-45

Interaccin SQL y SQL*Plus


Sentecias SQL

Servidor

SQL*Plus
Resultado de la Consulta

Bfer

Scripts SQL
1-46

Sentencias SQL Versus Comandos SQL*Plus


SQL Un lenguaje Estndar ANSI Las palabras clave no pueden abreviarse Las sentencias manip. datos y definiciones de tablas en la B.D. SQL*Plus Un entorno Propio de ORACLE Las palabras clave s pueden abreviarse Los comandos no pueden manipular valores en la B.D.

Sentencias SQL
1-47

Bfer SQL

Comandos SQL*Plus

SQL*Plus buffer

Generalidades de SQL*Plus

1-48

Conectarse al SQL*Plus. Describir la estructura de las tablas. Ejecutar SQL desde SQL*Plus. Editar la sentencia SQL. Guardar las sentencias SQL en archivos. Ejecutar los archivos guardados. Cargar los comandos desde el archivo al bfer para editarlos.

Conexin a SQL*Plus
Desde un entorno Windows:

Desde la lnea de comandos: sqlplus [username[/password [@database]]]


1-49

Visualizacin de la Estructura de una Tabla


Use el comando DESCRIBE de SQL*Plus para visualizar la estructura de una tabla.
DESC[RIBE] tablename

1-50

Visualizacin de la Estructura de una Tabla


SQL> DESCRIBE dept Name Null? ----------------- -------DEPTNO NOT NULL DNAME LOC Type ---NUMBER(2) VARCHAR2(14) VARCHAR2(13)

1-51

Comandos de Edicin SQL*Plus


A[PPEND] text

C[HANGE] / old / new


C[HANGE] / text / CL[EAR] BUFF[ER]

DEL
DEL n DEL m n
1-52

SQL*Plus Editing Commands


I[NPUT] I[NPUT] text L[IST] L[IST] n L[IST] m n R[UN] n

n text
0 text
1-53

Comandos de Ficheros SQL*Plus


SAVE filename GET filename START filename @ filename

EDIT filename
SPOOL filename EXIT
1-54

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

Use Sql*Plus como un entorno, para: Ejecutar sentencias SQL Editar sentencias SQL

1-55

You might also like