Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Introduccion A Bases de Datos

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 17

LAB DE BASE DE DATOS II

PLAN DE ESTUDIO:

 CONCEPTOS GENERALES
 SQL Y EL LENGUAJE TRANSACT - SQL

 LAS SENTENCIAS DDL DEL LENGUAJE TRANSACT - SQL

 LAS SENTENCIAS DML DEL LENGUAJE TRANSACT - SQL

 LAS SENTENCIAS DCL DEL LENGUAJE TRANSACT - SQL

 LAS FUNCIONES DE AGREGADOS DEL LENGUAJE TRANSACT - SQL

 LAS CONSULTAS GENERALES Y PARAMETRIZADAS

 RELACIONES DE BASE DE DATOS


CONCEPTOS GENERALES

ESTRUCTURAS DE ALMACENAMIENTO DE DATOS

Nos referimos a las diferentes formas de almacenamiento de datos digitales. Entre


ellas las están:

o Las bases de datos

o Los archivos de datos planos

BASE DE DATOS:

Hoy por hoy para definir este concepto, debemos saber que el concepto base de datos
tiene dos acepciones, una es la que se refiere a la base de datos contenedora y
otro es el que se refiere al concepto original de base de datos que son las tablas

Debemos saber que por ejemplo, la base de datos


contenedora es extensión .dbc y la tabla es
extensión .dbo en sqlserver

• La Base de Datos Contenedora

Podemos definir la base de datos contenedora como un conjunto de elementos


pertenecientes a un mismo contexto. En este sentido, una biblioteca puede considerarse una
base de datos compuesta en su mayoría por documentos y textos impresos en papel e
indexados para su consulta.

• La Tabla

La Tabla o Base de Datos propiamente dicha es un conjunto autodescriptivo de


registros almacenados sistemáticamente

Por otro lado tenemos los archivos de datos planos, estos son entidades o
localidades de almacenamiento, donde se almacenan datos de forma no
estructurada, ni organizada, ósea, los datos no están sistemáticamente organizados

IMPORTANCIA DE LAS BASES DE DATOS

Facilitan:

• El almacenamiento de grandes cantidades de información.

• La recuperación rápida y flexible de información.

• La organización y reorganización de la información.


DIFERENCIA ENTRE LAS BASE DE DATOS Y ARCHIVOS PLANOS

• Estructuración; en las bases de datos , los datos obedecen a una estructura,


mientras en los archivos de datos planos no

• Organización; en las bases de datos los datos están organizados, mientras en


los archivos de datos planos no

• Rapidez, en las bases de datos la recuperación de los datos es rápida y


flexible, mientras en los archivos de datos planos no

• El almacenamiento; en las bases de datos podemos almacenar de grandes


cantidades de información, mientras en los archivos de datos planos no

• Relaciones; en las bases de datos podemos relacionar dos tablas , mientras que
los archivos de datos planos no se pueden relacionar

• Seguridad y control, en las bases de datos podemos garantizar mayores controles ,


mientras que los archivos de datos planos no

• Indexación; en las bases de datos los registros se indexan para poder relacionar
las tablas, acelerar la búsqueda de información y facilitar satisfacer las expectativas de
los usuarios, contrario a los archivos de datos planos

ELEMENTOS DE UNA BASE DE DATOS

Los principales elementos de una base de datos son los siguientes:

• Tablas - Es el elemento principal de la base de datos, ya que allí se registra la


información que se quiere gestionar. Está compuesta, como si se tratase de una
planilla de cálculo, por filas y columnas. Cada archivo de una base de datos puede
contener tantas tablas como se requiera.
• Relaciones, en bases de datos, una relación es un vínculo
entre dos o más
entidades o tablas a través de un campo común.
Por ejemplo, una relación entre una entidad "Empleado" y una entidad
"Sector" podría ser "trabaja en", porque el empleado trabaja en un sector
determinado.
Las relaciones se describen en la estructura de la base de datos empleando un
modelo de datos. Las relaciones son muy empleadas en los modelos de bases
de datos relacional y afines.

• Vistas o views, son consultas que se almacenan en la base de datos

• Procedimientos almacenados , son pequenos programas que se almacenan en la base


de datos y se le llaman para que lleven a cabo tareas especificas
NORMALIZACIÓN DE BASES DE DATOS

El proceso de normalización de bases de datos consiste en aplicar una serie de


reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo
relacional.

Las bases de datos relaciónales se normalizan para:

• Evitar la redundancia de los datos.


• Evitar problemas de actualización de los datos en las tablas.
• Proteger la integridad de los datos.

SISTEMA DE MANEJO DE BASE DE DATOS

Un sistema de manejo de Base de Datos (DBMS) consiste en una colección de programas


para acceder y controlar las bases de datos. Ejemplo: SQL SERVER

TABLAS O BASE DE DATOS PROPIAMENTE DICHA, es un conjunto de datos


relacionados entre si, pertenecientes a un mismo contexto y almacenados
sistemáticamente para su posterior uso. En este sentido podemos decir que una tabla es
un conjunto autodescriptivo de registros almacenados sistemáticamente.

ELEMENTOS DE UNA TABLA

1-Dato fuente; son los diferentes datos primarios, campos o columnas que
forman la estructura de la tabla

2-Metadatos
 Tipo; tipo de datos que asume el campo

 Longitud, cantidad de caracteres que permite el dato

3-Restricciones: Son reglas y limitaciones establecidas al dato

 Llave primaria, cada instancia de una entidad debe ser unívocamente


identificable, de manera tal que cada registro de la entidad debe estar
separado y ser unívocamente identificable del resto de los registros de esa
misma entidad. La llave primaria no puede tener valores repetidos para
distintos registros.

La llave primaria debe permitirle a un Sistema de Gestión de Base de Datos


(SGBD), correctamente proyectado, generar un error si un usuario intenta
incluir un nuevo registro cuya llave primaria coincida con la de otro registro
ya existente en el archivo.
 Llave foránea, en el contexto de bases de datos relaciónales, una llave foránea (o
Foreing Key FK) es una limitación referencial entre dos tablas. La llave
foránea identifica una columna o grupo de columnas en una tabla (tabla hija o
referendo) que se refiere a una columna o grupo de columnas en otra tabla
(tabla maestra o referenciada). Las columnas en la tabla referendo deben ser
la clave primaria u otra clave candidata en la tabla referenciada.

 Valores nulos, restricción al campo para que este permita o no valores


nulos, es decir, exige o no que el dato se digite de forma obligatoria

 Identidad , atributo al campo que se aplica a los tipos numéricos enteros


que no permita valores nulos y hace que el valor se autogestione y se
autoincremete

4-Indice,

El índice es un dato que mejora la velocidad de las operaciones, permitiendo un


rápido acceso a los registros de una tabla en una base de datos. Al aumentar
drásticamente la velocidad de acceso, se suelen usar sobre aquellos campos sobre
los cuales se hacen frecuentes búsquedas. Este esta íntimamente ligado a la llave
primaria.

El índice tiene un funcionamiento similar al índice de un libro, guardando parejas de


elementos: el elemento que se desea indexar y su posición en la base de datos. Para
buscar un elemento que esté indexado, sólo hay que buscar en el índice dicho
elemento para, una vez encontrado, devolver el registro que se encuentre en la
posición marcada por el índice.
SQL; Significa lenguaje de búsqueda estructurado

El SQL, utiliza un lenguaje denominado Transac y esta formado por los tipos de
comandos siguientes :

 los DLL que permiten crear y definir nuevas bases de datos, campos e índices.

 los DML que permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos.

Comandos DLL
Comando Descripción
CREATE Utilizado para crear nuevas tablas, campos e índices
DROP Empleado para eliminar tablas e índices
Utilizado para modificar las tablas agregando campos o cambiando la definición de los
ALTER
campos.

Comandos DML
Comando Descripción
SELECT Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado
INSERT Utilizado para cargar lotes de datos en la base de datos en una única operación.
UPDATE Utilizado para modificar los valores de los campos y registros especificados
DELETE Utilizado para eliminar registros de una tabla de una base de datos
COMANDOS DLL (Sentencias de definición de estructuras de datos)

CREATE DATABASE Crea la base de datos


CREATE TABLE Añade una nueva tabla a la base de datos.
DROP TABLE Suprime una tabla de la base de datos.
ALTER TABLE Modifica la estructura de una tabla existente.
CREATE VIEW Añade una nueva vista a la base de datos.
DROP VIEW Suprime una vista de la base de datos.
CREATE INDEX Construye un índice para una columna.
DROP INDEX Suprime el índice para una columna.

CREAR LA BASE DE DATOS


CREATE DATABASE dbRecursosHumanos

ACTIVAR LA BASE DE DATOS

Use dbRecursosHumanos

CREAR LA TABLA DENTRO DE LA BASE DE DATOS

CREATE TABLE personal (


codigo int NOT NULL AUTO_INCREMENT,
nombre varchar(10) NOT NULL,
apellido varchar(20) NOT NULL,
Sexo verchar(15) NOT NULL DEFAULT 'Soltero'
PRIMARY KEY (codigo)
);

CREAR VISTAS

CREATE VIEW consulta de personal AS


SELECT codigo, nombre, apellido, sexo
FROM personal
WHERE nombre is not null;
COMANDOS DML (Sentencias de manipulación de datos))

Consultas
Las consultas de selección se utilizan para indicar al motor de datos que devuelva información de las
bases de datos, esta información es devuelta en forma de conjunto de registros

Las consultas se generan con el comando SELECT


SELECT; es el comando sql que se utiliza para consultar u obtener registros de una
tabla. Su sintaxis es:
SELECT campo, campo, … FROM Tabla
SELECT, especificar los campos a seleccionar de la tabla
FROM, se utilizada para especificar la tabla de la cual se van a seleccionar los
registro

LAS CONSULTAS PUEDEN SER:


1- CONSULTAS GENERALES. estas incluyen o afectan a todos los registros de
la tabla
La sintaxis básica de una consulta general es la siguiente:
SELECT campo, campo, … FROM Tabla
En donde los campos son los valores de cada registro que se deseen recuperar y tabla
es el origen de los mismos, por ejemplo:
SELECT Nombre, Telefono FROM empleados
Esta consulta devuelve un conjunto de registros con el nombre y teléfono de la
tabla empleados
2. CONSULTAS PARAMETRIZADAS, estas utilizan criterios de selección (filtro);
es decir se construyen con la select y la clausula where con la cual se establece una
condición. esta condición o filtro hace que no todos los registros de la tabla sean
afectado, sino solo aquellos que cumplan con la condición. Es decir, son las
posibilidades de filtrar los registros con el fin de recuperar solamente aquellos que
cumplan unas condiciones preestablecidas.

LA CLÁUSULA WHERE

La cláusula WHERE , se usa para establecer condiciones o filtro


Where sirve determinar qué registros de las tablas enumeradas en la cláusula FROM
aparecerán en los resultados de la instrucción SELECT.
Si no se emplea esta cláusula, la consulta devolverá todas las filas de la tabla. WHERE
es opcional, pero cuando aparece debe ir a continuación de FROM.
PARA CONSTRUIR LAS CONDICIONES SON VITALES LOS OPERADORES.
LOS OPERADORES SE CLASIFICAN EN :
OPERADORES DE COMPARACIÓN O DE RELACIÓN:
<, significa Menor que
SELECT * FROM empleados WHERE id < 10;
> Mayor que
SELECT Apellidos, sueldo FROM Empleados WHERE sueldo > 21000;

<>, significa Distinto de


SELECT Apellidos, sueldo FROM Empleados WHERE nombre <> ‘juan’
! =, significa Diferente que
SELECT Apellidos, sueldo FROM Empleados WHERE nombre ! = ‘juan’
<=, significa Menor ó Igual que
SELECT Apellidos, sueldo FROM Empleados WHERE sueldo <= 21000;
>=, significa Mayor ó Igual que
SELECT Apellidos, sueldo FROM Empleados WHERE sueldo >= 21000;
=, significa Igual que
SELECT Apellidos, sueldo FROM Empleados WHERE sueldo = 21000;
BETWEEN, significa Entre y es utilizado para especificar un intervalo de valores.
Para indicar que deseamos recuperar los registros según el intervalo de valores de un
campo emplearemos el operador Between cuya sintaxis es:
Select campo from tabla where campo Between valor1 And valor2
En este caso la consulta incluye los valores extremos.
SELECT * FROM empleados WHERE sueldo Between 5000 And 10000

Este código devuelve todos los empleados que tengan sueldo desde 5000 a 10000

IN(LISTA), significa dentro de la lista y es utilizado para especificar valores a


buscar de una base de datos pero que pertenezcan o estén dentro de la lista, Estos
valores se especifican dentro de paréntesis.
Este operador devuelve aquellos registros cuyo campo indicado coincide con alguno de
los valores incluidos en una lista. Su sintaxis es:
Select campo, campo from tabla where campo In(valor1, valor2, ‘valor 3’, ‘valor
4’, . . .)
Select * from tabla where campo In(valor1, valor2, ‘valor 3’, ‘valor 4’, . . .)
SELECT * FROM empleados WHERE id In (1, 2, 5)

Este código devuelve todos los empleados que su código sea el 1, el 2, o el 5


SELECT * FROM empleados WHERE nombre In (‘juan’,’pedro’,’maria’)
Este código devuelve todos los empleados que su nombre sea ‘juan’, ’pedro’ o
’maria’)

NOT IN(LISTA), significa fuera de la lista y es utilizado para especificar valores


buscar de una base de datos pero que no pertenezcan o no estén dentro de la lista, Estos
valores se especifican dentro de paréntesis. Su sintaxis es:
Select * from tabla where campo Not in(valor1, valor2, ‘valor 3’, ‘valor 4’, . . .)
SELECT * FROM empleados WHERE id Not in (1, 2, 5)

Este código devuelve todos los empleados que su código no sea el 1, el 2, ni 5


SELECT * FROM empleados WHERE nombre not in (‘juan’,’pedro’,’maria’)
Este código devuelve todos los empleados que su nombre no sea ‘juan’, ’pedro’ o
’maria’)
LIKE, significa Igual o Parecido y es utilizado en la comparación de cadenas
Se utiliza para comparar una expresión de cadena con un modelo en una expresión SQL.
Su sintaxis es:
Select * from tabla where campo Like modelo
Tres formatos muy utiles e importantes para consultas son los siguientes:
Select * from tabla where campo Like ‘%cadena’, devuelve aquellos registros cuyo
cadenas coincidan al final.
Ejemplo: select * from empleados where nombre like ‘%an’
Este query devuelve todos aquellos registros que el nombre termine en “an”, como
son juan, julian, lilian, etc.
Select * from tabla where campo Like ‘cadena%’ devuelve aquellos registros cuyo
cadenas coincidan al principio
Ejemplo: select * from empleados where nombre like ‘an%’
Este query devuelve todos aquellos registros que el nombre inicia con “an” , como son
angel, anyelina, ana, etc.

Select * from tabla where campo Like ‘%cadena%’ , devuelve aquellos registros que
en la cadena contengan la cadena especificada sin importar el lugar
Ejemplo: select * from empleados where nombre like ‘%angel%’
Este query devuelve todos aquellos registros que el nombre tenga “angel” , como son
angel luis, angelina, pedro angel, etc.

OPERADORES LÓGICOS O BOLEANOS, devuelven true o false, estos son:

AND, Es el "y" lógico. Evalúa dos condiciones y devuelve un valor true sólo si ambas
son ciertas
OR, Es el "o" lógico. Evalúa dos condiciones y devuelve un valor true si alguna de las
dos es cierta.
NOT, Negación lógica. Devuelve el valor contrario de la expresión.
Los operadores lógicos son utilizados siempre para unir o combinar dos o mas
condiciones

SELECT * FROM Empleados WHERE id > 2 AND id < 50;


SELECT * FROM Empleados WHERE id > 25 OR Sueldo = 100;

SELECT * FROM Empleados WHERE NOT sexo = 'masculino';

SELECT * FROM Empleados WHERE Sueldo > 100 AND Sueldo < 500

CONSULTAS CON PREDICADO


El predicado se incluye entre la claúsula y el primer nombre del campo a recuperar, los
posibles predicados son:
Predicado Descripción
ALL Devuelve todos los campos de la tabla
TOP Devuelve un determinado número de registros de la tabla
DISTINCT Omite los registros cuyos campos seleccionados coincidan totalmente
Omite los registros duplicados basandose en la totalidad del registro y no sólo en los
DISTINCTROW
campos seleccionados.

ALL
Si no se incluye ninguno de los predicados se asume ALL.
El Motor de base de datos selecciona todos los registros que cumplen las condiciones
de la instrucción SQL.
SELECT ALL FROM Empleados; es equivalente a

decir SELECT * FROM Empleados;

TOP
Devuelve un cierto número de registros que entran entre al principio de la tabla
Supongamos que queremos recuperar los nombres de los 25 primeros Empleados de la
tabla empleados

SELECT TOP 25 Nombre, Apellido FROM Empleados

DISTINCT
Omite los registros que contienen datos duplicados en los campos seleccionados. Para
que los valores de cada campo listado en la instrucción SELECT se incluyan en la
consulta deben ser únicos.
SELECT DISTINCT Apellido FROM Empleados;
ASIGNAR UN ALIA O UN NOMBRE A una COLUMNA EN LA SELECCINADA
Alias
En determinadas circunstancias es necesario asignar un nombre a alguna columna
determinada de un conjunto devuelto, otras veces por simple capricho o por otras
circunstancias. Para asignar un nombre a una columna seleccionada se utiliza la palabra
reservada AS que se encarga de asignar el nombre que deseamos a la columna deseada.
SELECT Apellido AS Apellido_del_ Empleado FROM Empleados;
En este ejemplo la columna devuelta por la consulta, en lugar de llamarse apellido, se
llamara Apellido_del_ Empleado.
Nota:
1- El nombre asignado no debe tener espacios en blanco

2- Si que queremos que en nombre asignado tenga espacios en blanco, este


debemos colocarlo entre corchetes
SELECT Apellido AS [Apellido del Empleado ] FROM Empleados

3-La palabra as es opcional

SELECT Apellido [Apellido del Empleado ] FROM Empleados

FUNCIONES DE AGREGADO
Las funciones de agregado se usan con SELECT para leer un grupos de registros y
devolver un único valor.
Entre ellas están:

AVG, utilizada para calcular el promedio de los valores de un campo determinado


COUNT, utilizada para devolver el número de registros de la selección
SUM, utilizada para devolver la suma de todos los valores de un campo determinado
MAX, utilizada para devolver el valor más alto de un campo especificado
MIN, utilizada para devolver el valor más bajo de un campo especificado
Ejemplos
SELECT SUM()
Sintaxis
Select sum(campo) from tabla
ejemplo
SELECT Id, Sum(sueldos) FROM Empleados
SELECT Id, Sum(sueldos) as [total de sueldos] FROM Empleados

SELECT AVG ()
Calcula la media aritmética de un conjunto de valores contenidos en un campo
especificado de una consulta.
Su sintaxis es la siguiente
Select Avg(campo) from tabla
ejemplo
SELECT avg(sueldos) as [sueldo promedio] FROM Empleados
SELECT COUNT(*)
Cuenta los registros devueltos por una consulta.
Su sintaxis es la siguiente
select Count(*) from tabla
ejemplo:
select count(*) as [Total de empleados ] FROM Empleados

SELECT MAX()

Devuelven el máximo de un conjunto de valores contenidos en un campo especifico de


una consulta.
Su sintaxis es:
select max(campo) fron tabla
ejemplo:
select max(id) as [id mas alto ] FROM Empleados

SELECT MIN(CAMPO)
Devuelven el minimo de un conjunto de valores contenidos en un campo especifico de
una consulta.
Su sintaxis es:
select min(campo) fron tabla
ejemplo:
select min(id) as [id mas alto ] FROM Empleados

ORDENAR LOS REGISTROS


ORDER BY
Adicionalmente se puede especificar el orden en que se desean recuperar los registros
de las tablas mediante la claúsula ORDER BY y el campo por el que se desea ordenar
los registros obtenidos
Los registros se puedn ordenar de forma ascendente o descendente
La sintaxis es:
SELECT * from FROM Empleados ORDER BY campo [ asc o desc]
Ejemplo:
SELECT * from FROM Empleados ORDER BY id asc

Esta consulta devuelve los registros de la tabla Empleados ordenados por el campo id
de forma ascendente
SELECT * from FROM Empleados ORDER BY id desc

Esta consulta devuelve los registros de la tabla Empleados ordenados por el campo id
de forma desendente

Nota; Si no se especifica la forma de ordenamiento se asume asc por defecto


Se pueden ordenar los registros por mas de un campo, como por ejemplo:
SELECT * FROM Empleados ORDER BY id, nombre desc
Esta consulta primero los registros de la consulta por el id de forma ascendente y
luego lo ordena por el nombre de forma descendente
GROUP BY Utilizada para separar los registros seleccionados en grupos específicos
El group by , combina los registros con valores idénticos, en el campo especificado.
Para cada registro se crea un valor sumario por lo que se debe incluir una función de
agregado en la consulta, como por ejemplo Sum o Count, en la instrucción SELECT.
Su sintaxis es:
SELECT campo, función de agregado FROM tabla WHERE criterio GROUP BY
campo del grupo
SELECT sexo, count(*) as [cantida de empleados por sexo ] FROM Empleados group
by sexo
Esta consulta devuelve la canitidad de empleados masculinos y la cantidad de
empleados femeninos
BORRAR REGISTROS EN LA TABLA
DELETE, se utiliza para borrar los registros en la tabla
Su sintaxis es:
Delete from tabla
Este borra todos los registros de la tabla

Para borrar registros específicos se debe incluir una condición con la cláusula
where
Entonces la sintaxis es:
DELETE FROM Tabla WHERE condición
Ejemplo:
DELETE * FROM Empleados WHERE id = 1

DELETE * FROM Empleados WHERE nombre = ‘juan’


DELETE * FROM Empleados WHERE nombre in (‘juan’, ‘jose’, ‘maria’)
Nota:
una vez que se han eliminado los registros utilizando una consulta de borrado,
no puede deshacer la operación. Si desea saber qué registros se eliminarán,
primero examine los resultados de una consulta de selección que utilice el
mismo criterio y después ejecute la consulta de borrado. Mantenga copias de
seguridad de sus datos en todo momento. Si elimina los registros equivocados
podrá recuperarlos desde las copias de seguridad.

ACTUALIZAR REGISTROS EN LA TABLA


UPDATE, actualiza campos específicos de la tabla con un determinado valor
Su sintaxis es:
UPDATE Tabla SET Campo1=Valor1, Campo2=Valor2, ... CampoN=ValorN

ejemplo:
update empleados set nombre = ‘juan’
Este le pondrá a todos los empleados el nombre juan
Nota:
Igual que pasa con el delete, si se quiere actualizar registros especifico se debe
incluir una clausula where y una condición

UPDATE Tabla SET Campo1=Valor1, Campo2=Valor2, ... CampoN=ValorN


WHERE Criterio;
ejemplo:
update empleados set nombre = ‘juan’ where id = 2

Este solo le pondrá el nomre juan al empleado que su id =2

UPDATE Empleados SET sueldo = sueldo + sueldo * 0.10


Este le actualiza el sueldo a todos los empleados con un 10% de aumento

UPDATE Empleados SET sueldo = sueldo + sueldo * 0.10 where coddepto = 1


Este le actualiza el sueldo a todos los empleados con un 10% de aumento pero que
pertenezcan al departamento 1

También podría gustarte