Вы находитесь на странице: 1из 51

Universidad Nacional De Ingeniera

Facultad Ingeniera Industrial y de Sistemas

Taller de Herramientas de
Software : ST 213
SESION 05

Lenguaje de Manipulacin de
Datos DML
Profesor: Ing. MBA Ysabel Rojas

ARQUITECTURA DEL GESTOR SQL SERVER


REVISION INSTRUCCIONES DDL
INSERCION DE TUPLAS
BORRADO DE TUPLAS
ACTUALIZACION DE TUPLAS
CONSULTAS - QUERYS
EJERCICIOS NIVEL BSICO
PROYECTO TRABAJO GRUPAL
PRACTICA DIRIGIDA 02

ARQUITECTURA DEL
GESTOR SQL SERVER

ARQUITECTURA DEL GESTOR


SQL SERVER

Cuando se instala SQL Server se crean cuatro bases de datos del


sistema que guardan informacin del propio sistema, son necesarias
para su funcionamiento, y no son utilizables directamente por el
usuario:

ARQUITECTURA DEL GESTOR


SQL SERVER
MASTER

Las cuentas de inicio de sesin,

parmetros de configuracin del servidor,

Registrar la existencia de otras bases de datos, etc


MSBD

Programacin de trabajos,

Definicin de operadores y alertas.

Almacena la informacin de la copia de seguridad y se emplea en la restauracin de


la base de datos
MODEL

Es la base de datos plantilla cuando se crea una nueva B:D. Si se desea que
determinados objetos, permisos, usuarios se creen automticamente cada vez que se
crea una base de datos, pueden incluirse en esta base.
TEMPDB

Utilizada cuando se necesita crear tablas temporales internas (o tablas de trabajo)


para determinadas operaciones, ordenacin, las operaciones multitabla, el
tratamiento de cursores, almacena todas las tablas y procedimientos
almacenados temporales.

Adicin de clave principal y


foranea a una tabla ya creada

CREATE TABLE tAlquileres


(
codigo
integer not null,
codigo_cliente integer not null,
matricula
char(8) not null,
fx_alquiler
datetime not null,
fx_devolucion datetime null
);

Modificacion
ALTER TABLE tAlquileres ADD
CONSTRAINT PK_tAlquileres primary key
(codigo),
CONSTRAINT FK_Clientes foreign key
(codigo_cliente)
references tClientes (Codigo),
CONSTRAINT FK_Coches foreign key
(matricula)
references tCoches (matricula);

ADMINISTRADOR
CORPORATIVO
Se Pulsa la B.D que se desea :

Conceptos Bsicos

Lenguaje de Consultas Estruturado (SQL)

Lenguaje de trabajo estndard para modelo


relacional
Componentes
DDL: Data Definition Language
DML: Data Manipulation Language (AR y CRT)
DCL : Data Control Language

SQL

DDL - Lenguaje de definicin de datos.

Definicin de esquemas,relaciones, indices y vistas (una


vista es una tabla virtual, ya que sus filas no se almacenan
fsicamente, sino que son producto de una consulta)

Autorizaciones al acceso a datos

Definicin de reglas de integridad.

Control de Concurrencia

DML - Lenguaje interactivo de manipulacin de datos.

Consultar datos almacenados.

Modificar el contenido de los datos almacenados.

DCL - Lenguaje interactivo del control de la seguridad de


datos .

Control de accesos y privilegios entre los usuarios.


9

SQL : Grupos de instrucciones


(mandatos)
Los mandatos de SQL se dividen en tres grandes grupos diferenciados

DDL(Data Definition Language), es el encargado de la definicin de Bases de Datos, tablas, vistas e ndices entre otros.
Son comandos propios DDL

CREATE
CREATE
CREATE
CREATE

TABLE
INDEX
VIEW
SYNONYM

DML(Data Manipulation Language), cuya misin es la manipulacin de datos. A travs de l podemos seleccionar,
insertar, eliminar y actualizar datos. Es la parte que ms frecuentemente utilizaremos, y que con ella se construyen
las consultas.
Son comandos propios DML
SELECT
UPDATE
INSERT
INSERT INTO
DELETE FROM

DCL (Data Control Language), encargado de la seguridad de la base de datos, en todo lo referente al control de accesos
y privilegios entre los usuarios.
Son comandos propios de este lenguaje:
GRANT
REVOKE

ARQUITECTURA DEL GESTOR SQL SERVER


REVISION INSTRUCCIONES DDL
INSERCION DE TUPLAS
BORRADO DE TUPLAS
ACTUALIZACION DE TUPLAS
CONSULTAS - QUERYS
EJERCICIOS NIVEL BSICO
PROYECTO TRABAJO GRUPAL
PRACTICA DIRIGIDA 02

DDL DEFINIENDO DATOS

El esquema de cada relacin


El dominio de valores asociado a cada atributo
Las restricciones de integridad
El conjunto de ndices que se deben mantener por
cada relacin
Informacin de seguridad y autorizacin para cada
relacin
La estructura de almacenamiento fsico de cada
relacin en disco.

CREACION DE UNA TABLA


MANEJANDO INTEGRIDAD DE DATOS

create table Cuenta


(NumeroCuenta
varchar(15)not null ,
NombreSucursal
varchar(15)not null,
Saldo double precision
not null,
primary key(NumeroCuenta));

USANDO CHECK
create table sucursal
(nombresucursal char (15) not null,
ciudadsucursal char (30),
activo integer,
primary key (nombresucursal),
check (activo >= 0))

Usando check con valores


listados de un atributo

create table estudiante


(nombre char (15) not null,
idestudiante char (10) not null,
nivelestudios char (15) not null,
primary key (idestudiante),
check (nivelestudios in (Bachiller,
Ingeniero, Master,Doctorado )))

Creacion de tablas Formato


Completo
CREATE TABLE <nombre_tabla>
(
<nombre_campo> <tipo_datos(tamao)>
[null | not null] [default <valor_por_defecto>]
{
,<nombre_campo> <tipo_datos(tamao)>
[null | not null] [default <valor_por_defecto>]}
[
, constraint <nombre> primary key (<nombre_campo>[ ,...n
])]
[
, constraint <nombre> foreign key (<nombre_campo>[ ,...n ])
references <tabla_referenciada> ( <nombre_campo> [ ,...n ]
)]
);

SQL Creacion de vistas

Creacin de vistas

Una vista es un objeto que no contiene datos


por si mismo. Es una clase de tabla cuyo
contenido es tomado de otras tablas por
medio de la ejecucin de una consulta.
Create View nombre as <expresion>
Ej26: crea una vista con todos los clientes y
consultar de ah todos los de sucursal XXX

17

ARQUITECTURA DEL GESTOR SQL SERVER


REVISION INSTRUCCIONES DDL
INSERCION DE TUPLAS
BORRADO DE TUPLAS
ACTUALIZACION DE TUPLAS
CONSULTAS - QUERYS
EJERCICIOS NIVEL BSICO
PROYECTO TRABAJO GRUPAL
PRACTICA DIRIGIDA 02

SQL - INSERCION DE
TUPLAS

Insercin:

INSERT INTO tab_name (<column_name>,)


VALUES (<valor>,)
Existen dos maneras bsicas de insertar.

Insertar la fila completa


Insertar slo algunas columnas de una fila
En el segundo caso se debe necesariamente
especificar los nombres de las columnas que se van
a completar.

Ej29: agregar una cuenta


19

INSERCION DE TUPLAS

Insercin de filas
Aadir a una tabla una o ms filas y en cada fila
todos o parte de sus campos.
Podemos distinguir dos formas de insertar filas:

1) Insercin individual de filas,realizado con:


INSERT INTO <nombre_tabla>
[(<campo1>[,<campo2>,...])]
values
(<valor1>,<valor2>,...);
Si se omite un atributo, puede ocurrir:
Que se produzca un error , si el campo no acepta valores nulos.
Que se grave el registro y se deje nulo el campo, cuando el campo acepte valores nulos.
Que se grave el registro y se tome el valor por defecto, cuando el campo tenga definido un valor por defecto.

INSERCION DE TUPLAS

Insercin de filas
1) Insercin Multiple de filas,realizado con:
INSERT INTO <nombre_tabla>
[(<campo1>[,<campo2>,...])]
SELECT
[(<campo1>[,<campo2>,...])]
FROM
<nombre_tabla_origen>;
Condiciones
La lista de campos de las sentencias insert y select deben coincidir en nmero y tipo de datos.
Ninguna de las filas devueltas por la consulta debe infringir las reglas de integridad de la tabla en la
que vayamos a realizar la insercin

INSERCION DE TUPLAS
INSERT INTO EMPLEADO
VALUES (Richard, K, Marini, 653298653, 1962-12-30, 98
Oak Forest, Katy, TX, H, 37000, 987654321, 4)
***Mismo orden en el que se especificaron los atributos
en CREATE TABLE
INSERT INTO EMPLEADO(NOMBRE, APELLIDO, NSS)
VALUES (Richard, Marini, 653298653)
**** As los atributos con valor NULL o DEFAULT se
pueden omitir
Los valores de VALUES en el mismo orden que se
especifican los atributos en INSERT INTO

ARQUITECTURA DEL GESTOR SQL SERVER


REVISION INSTRUCCIONES DDL
INSERCION DE TUPLAS
BORRADO DE TUPLAS
ACTUALIZACION DE TUPLAS
CONSULTAS - QUERYS
EJERCICIOS NIVEL BSICO
PROYECTO TRABAJO GRUPAL
PRACTICA DIRIGIDA 02

SQL Borrado de tuplas

Modificacin de la BD

Borrado: eliminar una o mas filas de una


tabla:
DELETE FROM tab_name
[WHERE condicin];

24

BORRADO DE TUPLAS

SENTENCIA DELETE
DELETE FROM <nombre_tabla>
[ WHERE <condicion>];

Ej: borrar las cuentas de una sucursal


Ej: borrar las cuentas con saldo entre 100
y 200.

BORRADO DE TUPLAS

SENTENCIA TRUNCATE
Realiza el borrado completo de la tabla es +
rpida que un delete.
TRUNCATE TABLE <nombre_tabla>;

La sentencia TRUNCATE no es transaccional. No se puede deshacer.


La sentencia TRUNCATE no admite clausula WHERE. Borra toda la tabla.
No todos los gestores de bases de datos admiten la sentencia TRUNCATE .

ARQUITECTURA DEL GESTOR SQL SERVER


REVISION INSTRUCCIONES DDL
INSERCION DE TUPLAS
BORRADO DE TUPLAS
ACTUALIZACION DE TUPLAS
CONSULTAS - QUERYS
EJERCICIOS NIVEL BSICO
PROYECTO TRABAJO GRUPAL
PRACTICA DIRIGIDA 02

ACTUALIZACION

Permite la actualizacion de unos o


varios registros

UPDATE <nombre_tabla>
SET <campo1> = <valor1>
{[,<campo2> = <valor2>,...,<campoN> =
<valorN>]}
[ WHERE <condicion>];

SQL

Actualizacin

Ej30: modificar el saldo de las cuenta incrementar


en un 5%.

29

ACTUALIZACION
UPDATE EMPLEADO
SET SALARIO=SALARIO*1.1
WHERE cod-dep= 02)
A la izquierda se refiere al nuevo valor
de SALARIO
A la derecha al valor antiguo

Insercin de tuplas
(Por Administrador)

ARQUITECTURA DEL GESTOR SQL SERVER


REVISION INSTRUCCIONES DDL
INSERCION DE TUPLAS
BORRADO DE TUPLAS
ACTUALIZACION DE TUPLAS
CONSULTAS QUERYS
EJERCICIOS NIVEL BSICO
PROYECTO TRABAJO GRUPAL
PRACTICA DIRIGIDA 02

SQL Consultas Basicas

Estructura bsica: 3 clusulas


Select (equivale a )
From (equivale a x)
Where (equivale a )
a1,...,an (p (r1 x ... X rm ) ) equivale a
Select a1,..., an
From r1,..., rm
Where P

Ej1: todas las sucursales de la


relacin sucursal
34

Consultas - Querys
SELECT [ALL | DISTINCT ]
<nombre_campo> [{,<nombre_campo>}]
FROM <nombre_tabla>|<nombre_vista>
[{,<nombre_tabla>|<nombre_vista>}]
[WHERE <condicion> [{ AND|OR <condicion>}]]
[GROUP BY <nombre_campo> [{,<nombre_campo
>}]]
[HAVING <condicion>[{ AND|OR <condicion>}]]
[ORDER BY
<nombre_campo>|<indice_campo> [ASC | DESC]
[{,<nombre_campo>|<indice_campo> [AS
C | DESC ]}]]

SQL - Querys
Select
* (incluye todos los atributos de las
tablas que aparecen en el from)

Distinct (eliminan tuplas


duplicadas)

All (valor por defecto, aparecen


todas las tuplas)

36

SQL- Querys Nivel bsico

Ej: nombres de las sucursales en la relacin


o tabla prstamo sin repeticin
Ej :Operaciones en el select

Select nombre, saldo * 3


From cliente

Where

Operadores lgicos

Ej: prstamos cuyo monto es superior a S/.20000

Between

Ej: prstamos cuyo monto este entre 20000 y 30000


Nuevos soles
37

SQL- Querys Nivel basico

Operaciones sobre strings

Like, %, _
Alfa%: cualquier cadena que empiece con
Alfa
%casa%: cualquier cadena que tenga casa
en su interior
_ _ _: cualquier cadena con tres caracteres
_ _ _%: cualquier cadena con al menos tres
caracteres.
Ej: como se indicaria para seleccionar los
nombres de clientes cuya domicilio contenga
38
el string aaa ??

SQL- Querys

Ordenamiento de las tuplas resultado

Order By atributo: especifica el atributo por el


cual las tuplas sern ordenadas

Ej8: presentar todos los clientes ordenados por


nombre.

Desc, asc: por defecto es ascendente,


se puede especificar descendente.

Facturas=(Nro,Fecha,Hora)
Ej: presentar las facturas del mes de agosto
ordenadas por fecha desde el 31 al 1 de agosto
39

SQL- Querys Nivel basico

SQL- Querys Nivel basico

SQL- Querys formato general


Significado
SELECT
ALL
DISTINCT
FROM

WHERE
GROUP BY

HAVING

ORDER BY

Palabra clave que indica que la sentencia de SQL que queremos ejecutar es de
seleccin.
Indica que queremos seleccionar todos los valores.Es el valor por defecto y no
suele especificarse casi nunca.
Indica que queremos seleccionar slo los valores distintos.
Indica la tabla (o tablas) desde la que queremos recuperar los datos. En el caso
de que exista ms de una tabla se denomina a la consulta "consulta combinada" o
"join". En las consultas combinadas es necesario aplicar una condicin de
combinacin a travs de una clusula WHERE.
Especifica una condicin que debe cumplirse para que los datos sean devueltos
por la consulta. Admite los operadores lgicos AND y OR.
Especifica la agrupacin que se da a los datos. Se usa siempre en combinacin
con funciones agregadas.
Especifica una condicin que debe cumplirse para los datos, especifica una
condicin que debe cumplirse para que los datos sean devueltos por la consulta.
Su funcionamiento es similar al de WHERE pero aplicado al conjunto de
resultados devueltos por la consulta. Debe aplicarse siempre junto a GROUP BY
y la condicin debe estar referida a los campos contenidos en ella.
Presenta el resultado ordenado por las columnas indicadas. El orden puede
expresarse con ASC (orden ascendente) y DESC (orden descendente). El valor
predeterminado es ASC.

ARQUITECTURA DEL GESTOR SQL SERVER


REVISION INSTRUCCIONES DDL
INSERCION DE TUPLAS
BORRADO DE TUPLAS
ACTUALIZACION DE TUPLAS
CONSULTAS - QUERYS
EJERCICIOS NIVEL BSICO
PROYECTO TRABAJO GRUPAL
PRACTICA DIRIGIDA 02

Consultas Nivel basico


1)CONSULTANDO TODAS LAS TUPLAS (Con todos los
campos creados) (Tabla Empleado de B.D Edumatica)
Use Edumatica
Go
Select * from empleado
Go
2)CONSULTANDO TODAS LAS TUPLAS (Con campos
seleccionados) (Tabla Empleado)
Use Edumatica
Go
Select IDEMPLEADO,APEEMPLEADO,NOMEMPLEADO from
empleado
Go

Consultas Nivel Basico


3)CONSULTANDO TUPLAS (Concatenando campos)

Select IDEMPLEADO,APEEMPLEADO+, +NOMEMPLEADO from


empleado

Go
4)Estableciendo Titulo a las columnas

Select IDEMPLEADO,APEEMPLEADO+, +NOMEMPLEADO AS


EMPLEADO from empleado

Go
5)Seleccionando registros en base a rangos

Use Northwind

go

Select * from Products Where UnitPrice Between 20 and 40

Go

Select * from Employees Where hiredate Between 19920101 and 19921231

Go

ARQUITECTURA DEL GESTOR SQL SERVER


REVISION INSTRUCCIONES DDL
INSERCION DE TUPLAS
BORRADO DE TUPLAS
ACTUALIZACION DE TUPLAS
CONSULTAS - QUERYS
EJERCICIOS NIVEL BSICO
PROYECTO TRABAJO GRUPAL
PRACTICA DIRIGIDA 02

Objetivo
La presentacin de un proyecto, estudio o sistema ,
que emplea el gestor de base de datos relacional SQL

Server; en la cual se contemplara desde la etapa de


creacin, manipulacin , consultas que establezcan las
reglas de negocio , desarrollando los mdulos de

programacin de una B. D SQL Server 2012 en T-SQL

Definicin del Proyecto Grupal


Primer Avance
ITEMS A CONSIDERAR

1. Definir el Tema , estableciendo los grupos de trabajo e integrantes


2. Precisar el Objetivo del Proyecto, de estar aplicada a una empresa u
organizacin , describirla, realizar el anlisis de contexto, misin y visin
3. Definir y describir en forma suscinta; el modelo de negocio , los procesos
identificados , y los procesos que se van a considerarse en el sistema o
proyecto informtico a realizar
4. Precisar los requerimientos de informacin de los procesos considerados as
como las reglas de negocio que se establecen
5. Definir el esquema, crear el modelo E-R , normalizar y crear la BD Fisica
definir las tablas con sus restricciones y dems objetos requeridos
6. Poblar las tablas creadas
7. Presentar las consultas genricas a las tablas creadas

ARQUITECTURA DEL GESTOR SQL SERVER


REVISION INSTRUCCIONES DDL
INSERCION DE TUPLAS
BORRADO DE TUPLAS
ACTUALIZACION DE TUPLAS
CONSULTAS - QUERYS
EJERCICIOS NIVEL BSICO
PROYECTO TRABAJO GRUPAL
PRACTICA DIRIGIDA 02

PRACTICA DIRIGIDA 02

Muchas Gracias!

Вам также может понравиться