sesion05
DESCRIPTION
taller de herramientasTRANSCRIPT
Taller de Herramientas de
Software : ST 213
SESION 05
Lenguaje de Manipulación de Datos DML
Profesor: Ing. MBA Ysabel Rojas
Universidad Nacional De Ingeniería
Facultad Ingeniería Industrial y de Sistemas
ARQUITECTURA DEL GESTOR SQL SERVER
REVISION INSTRUCCIONES DDL
INSERCION DE TUPLAS
BORRADO DE TUPLAS
ACTUALIZACION DE TUPLAS
CONSULTAS - QUERYS
EJERCICIOS NIVEL BÁSICO
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 información 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 sesión,
parámetros de configuración del servidor,
Registrar la existencia de otras bases de datos, etc
MSBD
Programación de trabajos,
Definición de operadores y alertas.
Almacena la información de la copia de seguridad y se emplea en la restauración 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 automáticamente 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, ordenación, las operaciones multitabla, el
tratamiento de cursores, almacena todas las tablas y procedimientos
almacenados temporales.
Adición 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 :
8
Conceptos Básicos
Lenguaje de Consultas Estruturado (SQL)
Lenguaje de trabajo estándard para modelo
relacional
Componentes
DDL: Data Definition Language
DML: Data Manipulation Language (AR y CRT)
DCL : Data Control Language
9
SQL
DDL - Lenguaje de definición de datos.
Definición de esquemas,relaciones, indices y vistas (una vista es una tabla virtual, ya que sus filas no se almacenan físicamente, sino que son producto de una consulta)
Autorizaciones al acceso a datos
Definición de reglas de integridad.
Control de Concurrencia
DML - Lenguaje interactivo de manipulación 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.
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 definición de Bases de Datos, tablas, vistas e índices entre otros.
Son comandos propios DDL
CREATE TABLE CREATE INDEX CREATE VIEW CREATE SYNONYM
DML(Data Manipulation Language), cuya misión es la manipulación de datos. A través de él podemos seleccionar, insertar, eliminar y actualizar datos. Es la parte que más 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 BÁSICO
PROYECTO TRABAJO GRUPAL
PRACTICA DIRIGIDA 02
DDL DEFINIENDO DATOS
El esquema de cada relación
El dominio de valores asociado a cada atributo
Las restricciones de integridad
El conjunto de índices que se deben mantener por
cada relación
Información de seguridad y autorización para cada
relación
La estructura de almacenamiento físico de cada
relación 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(tamaño)>
[null | not null] [default <valor_por_defecto>]
{
,<nombre_campo> <tipo_datos(tamaño)>
[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 ]
) ]
) ;
17
SQL – Creacion de vistas
Creación 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 ejecución 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
ARQUITECTURA DEL GESTOR SQL SERVER
REVISION INSTRUCCIONES DDL
INSERCION DE TUPLAS
BORRADO DE TUPLAS
ACTUALIZACION DE TUPLAS
CONSULTAS - QUERYS
EJERCICIOS NIVEL BÁSICO
PROYECTO TRABAJO GRUPAL
PRACTICA DIRIGIDA 02
19
SQL - INSERCION DE
TUPLAS
Inserción:
INSERT INTO tab_name (<column_name>,)
VALUES (<valor>,)
Existen dos maneras básicas de insertar.
Insertar la fila completa
Insertar sólo 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
INSERCION DE TUPLAS Inserción de filas
Añadir a una tabla una o más filas y en cada fila todos o parte de sus campos.
Podemos distinguir dos formas de insertar filas:
1) Inserción 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
Inserción de filas
1) Inserción 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 número 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 inserción
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
INSERCION DE TUPLAS
ARQUITECTURA DEL GESTOR SQL SERVER
REVISION INSTRUCCIONES DDL
INSERCION DE TUPLAS
BORRADO DE TUPLAS
ACTUALIZACION DE TUPLAS
CONSULTAS - QUERYS
EJERCICIOS NIVEL BÁSICO
PROYECTO TRABAJO GRUPAL
PRACTICA DIRIGIDA 02
24
SQL – Borrado de tuplas
Modificación de la BD
Borrado: eliminar una o mas filas de una
tabla:
DELETE FROM tab_name
[WHERE condición];
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 +
rápida 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 BÁSICO
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>];
29
SQL
Actualización Ej30: modificar el saldo de las cuenta incrementar
en un 5%.
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
ACTUALIZACION
Inserción 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 BÁSICO
PROYECTO TRABAJO GRUPAL
PRACTICA DIRIGIDA 02
34
SQL – Consultas Basicas
Estructura básica: 3 cláusulas
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 relación sucursal
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> [ASC | DESC ]}]]
36
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)
37
SQL- Querys Nivel básico
Ej: nombres de las sucursales en la relación o tabla préstamo sin repetición
Ej :Operaciones en el select Select nombre, saldo * 3
From cliente
Where Operadores lógicos
Ej: préstamos cuyo monto es superior a S/.20000
Between Ej: préstamos cuyo monto este entre 20000 y 30000
Nuevos soles
38
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
el string aaa ??
39
SQL- Querys Ordenamiento de las tuplas resultado
Order By atributo: especifica el atributo por el
cual las tuplas serán 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
SQL- Querys Nivel basico
SQL- Querys Nivel basico
SQL- Querys formato general
Significado
SELECT Palabra clave que indica que la sentencia de SQL que queremos ejecutar es de selección.
ALL Indica que queremos seleccionar todos los valores.Es el valor por defecto y no suele especificarse casi nunca.
DISTINCT Indica que queremos seleccionar sólo los valores distintos.
FROM
Indica la tabla (o tablas) desde la que queremos recuperar los datos. En el caso de que exista más de una tabla se denomina a la consulta "consulta combinada" o "join". En las consultas combinadas es necesario aplicar una condición de combinación a través de una cláusula WHERE.
WHERE Especifica una condición que debe cumplirse para que los datos sean devueltos por la consulta. Admite los operadores lógicos AND y OR.
GROUP BY Especifica la agrupación que se da a los datos. Se usa siempre en combinación con funciones agregadas.
HAVING
Especifica una condición que debe cumplirse para los datos, especifica una condición 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 condición debe estar referida a los campos contenidos en ella.
ORDER BY
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 BÁSICO
PROYECTO TRABAJO GRUPAL
PRACTICA DIRIGIDA 02
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
Consultas – Nivel Basico
ARQUITECTURA DEL GESTOR SQL SERVER
REVISION INSTRUCCIONES DDL
INSERCION DE TUPLAS
BORRADO DE TUPLAS
ACTUALIZACION DE TUPLAS
CONSULTAS - QUERYS
EJERCICIOS NIVEL BÁSICO
PROYECTO TRABAJO GRUPAL
PRACTICA DIRIGIDA 02
Objetivo
La presentación 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
creación, manipulación , consultas que establezcan las
reglas de negocio , desarrollando los módulos de
programación de una B. D SQL Server 2012 en T-SQL
Definición 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
organización , describirla, realizar el análisis de contexto, misión y visión
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 informático a realizar
4. Precisar los requerimientos de información 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 demás objetos requeridos
6. Poblar las tablas creadas
7. Presentar las consultas genéricas 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 BÁSICO
PROYECTO TRABAJO GRUPAL
PRACTICA DIRIGIDA 02
PRACTICA DIRIGIDA 02
Muchas Gracias!