Está en la página 1de 50

Objetos de la Base de Datos

Tablas: son los objetos donde se almacenan los


datos dentro de la base de datos.
Existen dos tipos bsicos de tablas:
De usuario y de sistema.
Las tablas de sistema contienen informacin

acerca de la base de datos que utiliza SQL


Server para poder gestionarla.

Objetos de la Base de Datos


Columnas: son los elementos que componen

la estructura de las tablas. Cada una tiene un


nombre y un tipo de dato asociado, de tal
manera que la informacin que se almacena en
cada columna est restringida por el tipo de
dato asociado.
Una columna tambin determina la longitud
mxima de los datos que almacena.

Objetos de la Base de Datos


Filas: tambin conocidas como registros, se
ajustan al esquema de columnas de la tabla a la
que pertenecen. Cada fila define una unidad de
informacin, una instancia del objeto definido
por la tabla a la que pertenece.

Por ejemplo, cada fila de la tabla Clientes,


representa un nico cliente.

Objetos de la Base de Datos


Procedimientos Almacenados: son bloques de
instrucciones Transact-SQL compiladas.
Las ventajas son muchas, como por ejemplo
ejecutar el mismo cdigo repetidas veces,
utilizando su nombre, o ventajas relativas

a seguridad.

Objetos de la Base de Datos


Vistas: funcionan como tablas, y se utilizan
como tablas. Tambin se les conoce como
tablas virtuales. Pueden combinar informacin
de una o varias tablas, y se utilizan sobre todo
porque

facilitan

en

gran

administracin de la seguridad.

medida

la

Objetos de la Base de Datos


ndices: son una copia de los datos de una o
varias columnas de una tabla. Pueden ser
considerados como una lista predefinida de
informacin que indica cmo estn ordenados y
almacenados los datos de la tabla, y que sirve

para que las consultas sean ms eficientes.


Podemos comparar estos ndices con los de un
libro.

Bases de Datos de Sistema


Estas bases de datos son creadas durante la
instalacin de la instancia del servidor.
Master
La base de datos master es la ms importante
dentro de SQL Server, ya que constituye el

ncleo

del

servidor,

junto

con

el

motor

relacional. Si esta base de datos se corrompe,


SQL Server dejar de funcionar.

Bases de Datos de Sistema


Master. Guarda informacin crtica:
Los Inicios de sesin del servidor.
Los roles y los usuarios asociados al inicio
de sesin.
Variables de configuracin del sistema, como

idioma, reglas de intercalacin, modo de


autenticacin, etc.
Mensajes de error de sistema.

Bases de Datos de Sistema


TempDB
Es una base de datos permanente que sirve
para almacenar datos temporales. Los objetos
contenidos son permanente, pero la informacin
almacenada en sus tablas es temporal, excepto

las de sistema. La informacin contenida en las


tablas de usuario se pierde cuando se cierra la
sesin de SQL Server

Elementos bsicos para la creacin de


bases de datos
Utilizando las herramientas grficas de SQL
Server Management Studio.
Utilizando cdigo Transact-SQL.
Ambos mtodos tienen sus ventajas y sus
inconvenientes. En cualquier caso, ninguno
es el correcto, por tanto, debemos utilizar el
mtodo con el que nos sintamos ms
cmodos,
sin
olvidar
que
resulta
imprescindible conocer el otro.

CREATE DATABASE
Tambin podemos crear una base de datos
haciendo uso de cdigo Transatc-SQL. La

instruccin CREATE sirve para crear objetos en


el servidor local. Para crear una base de datos,
acompaamos a esta instruccin con la clusula
DATABASE.

CREATE DATABASE
Sintxis bsica.
CREATE DATABASE Odyssey
ON PRIMARY
(
NAME = 'Odyssey_Data',
FILENAME = 'C:\BBDD\Odyssey_Data.MDF',
SIZE = 10MB,
MAXSIZE = 25,
FILEGROWTH = 2MB
)

CREATE DATABASE
Sintxis bsica.
LOG ON
(
NAME = 'Odyssey_Log',
FILENAME = 'C:\BBDD\Odyssey_Log.LDF',
SIZE = 4MB,
MAXSIZE = 10MB,
FILEGROWTH = 20%
)

CREATE DATABASE
Los parmetros de configuracin del archivo
estn escritos entre parntesis, y van separados
entre s por comas, excepto el ltimo.
NAME: este parmetro representa el nombre
lgico del archivo, es decir, el nombre del

archivo en SQL Server. Si no se especifica,


tomar el valor del nombre del archivo fsico.

CREATE DATABASE
FILENAME: especifica la ubicacin del archivo
en el disco duro. La ruta debe ser completa, y
debemos especificar el nombre del archivo,
incluyendo la extensin del mismo. En general,
el nombre fsico y el lgico deben coincidir, para

facilitar la administracin de los archivos. Este


parmetro es obligatorio.

CREATE DATABASE
SIZE: representa el espacio inicial que SQL

Server reservar en disco al crear el archivo. Si


no especificamos ninguna unidad de tamao
para el archivo, por defecto se tomar en

megabytes (MB), aunque tambin se pueden


utilizar otras unidades, como kilobytes (KB), o
gigabytes (GB). Si no se especifica un valor, se
tomar por defecto un tamao inicial de 3MB.

CREATE DATABASE
MAXSIZE: Representa el tamao mximo que

puede alcanzar el archivo. Mientras que el


espacio ocupado en disco por el archivo no
alcance esta cifra, cada vez que el archivo est

prximo a llenarse SQL Server aumentar su


tamao automticamente.

CREATE DATABASE
MAXSIZE: Una vez que haya alcanzado el

tamao mximo, SQL Server no podr volver a


realizar el aumento de tamao automtico, por
lo que corremos el riesgo de que el archivo se

llene, y el servidor se detenga. Lo ms habitual


es no especificar ningn valor para este
parmetro, ya que si as lo hacemos, no habr
restriccin de tamao mximo para el archivo.

CREATE DATABASE
FILEGROWTH:

sirve

para

determinar

la

cantidad de espacio que SQL Server usar para


incrementar un archivo de base de datos en una
operacin de crecimiento automtico. Se puede

especificar en una unidad de tamao o bien en


porcentaje sobre el tamao actual del archivo.
Si no se especifica se tomar por defecto un
10%.

Creacin de tablas
Para crear la tabla utilizando el Editor de

Consultas, simplemente tenemos que invocar a


la instruccin CREATE TABLE, junto con el
nombre de la tabla, y la coleccin de columnas,

con su nombre y tipo de dato, que ir encerrada


entre

parntesis,

con

cada

definicin

columna separada por comas de las dems.

de

CREATE TABLE
CREATE TABLE Clientes
(
IdCliente INT NOT NULL,
Nombre VARCHAR(20) NOT NULL,
Apellidos VARCHAR(50) NOT NULL,
DNI VARCHAR(8) NOT NULL,
NIF CHAR(1) NOT NULL,
Telfono CHAR(9) NOT NULL
)
GO

Modificar tablas
Tambin podemos modificar las tablas una vez

creadas, va cdigo, haciendo uso de la


intruccin ALTER TABLE. Si despus de crear la
tabla hemos decidido aadir una columna ms,

podemos ejecutar el siguiente cdigo:


ALTER TABLE Clientes
ADD Direccion VARCHAR(80) NOT NULL
GO

Modificar tablas
Tambin podemos modificar propiedades de

columnas que ya existan en la tabla, por


ejemplo, cambiar el tipo de dato asociado a la
columna:

-- Cambiamos el tipo de dato de una columna


ALTER TABLE Clientes
ALTER COLUMN Direccion CHAR(60) NULL
GO

Modificar tablas
Para eliminar una columna de una tabla:

-- Eliminamos una columna de la tabla.


ALTER TABLE Clientes
DROP COLUMN Direccion

GO

Eliminar tablas
-- Eliminar una tabla.
DROP TABLE Clientes
GO

SQL
Lenguaje de consulta estructurado.
Es un poderoso lenguaje para el manejo de
base de datos que puede utilizar en sus
aplicaciones.
Se desarroll en la dcada de los 60 en
IBM para permitir a los usuarios el uso de
instrucciones estandarizadas en diversas
bases de datos.

SQL
Se encuentran organizadas en dos grandes
categoras: DML y DDL.
Cada instruccin puede llevar a cabo
operaciones en los objetos (tablas, columnas,
filas) de una o ms bases de datos.
Muchas instrucciones SQL devuelven
conjuntos de registros vistas.
La sintaxis de SQL est determinada por la
ANSI.

INSTRUCCIONES SQL
El comando SELECT.

Permite obtener registros de una o ms


tablas.
Ejemplos:
SELECT campo FROM tabla
SELECT campo1, campo2 FROM tabla
SELECT * FROM tabla

INSTRUCCIONES SQL
La clusula ORDER BY.

Permite ordenar en base a un campo


especial.
Ejemplos:
SELECT campo1, campo2 FROM tabla
ORDER BY nombre DESC.

SELECT * FROM tabla ORDER BY


nombre ASC

INSTRUCCIONES SQL
La clusula WHERE.
Condiciona los registros. Hay dos formas de
utilizarla:
1. Para limitar la cantidad de registros
obtenidos en una vista.

2. Para vincular dos o ms tablas dentro de


una vista.

INSTRUCCIONES SQL
La clusula WHERE.
1. Para limitar la cantidad de registros
obtenidos en una vista.

Permite realizar comparaciones lgicas en


los datos de cualquier columna de la tabla.
SELECT campo FROM tabla WHERE
campo =condicion

INSTRUCCIONES SQL
La clusula WHERE.
2. Para vincular dos o ms tablas dentro de
una vista.

SELECT tabla1.campo, tabla2.campo


FROM tabla 1, tabla2 WHERE
tabla1.campo = tabla2.campo AND/ OR
tabla1.campo1 = tabla2.campo

INSTRUCCIONES SQL JOIN


Para muchas de las consultas que los
usuarios realizan sobre la data almacenada
en una base de datos es necesario extraer
informacin de ms de una tabla, para ello es
necesario emplear los JOINS que representan
una operacin producir un conjunto de
resultados que incorporen filas y columnas de
las tablas referidas en la consulta, esto lo
hace basndose en columnas comunes a las
tablas.

INSTRUCCIONES SQL JOIN


Cuando se ejecutan los JOIN, SQL Server
compara los valores de las columnas
especificadas fila por fila entonces usa los
resultados de la comparacin para combinar
los valores que califican como nuevas filas.

INSTRUCCIONES SQL JOIN


SELECT <lista de columnas>
FROM <tabla o vista >
[INNER | LEFT|RIGHT|FULL [OUTER]] JOIN
<Tabla o Vista > ON <condicin>

La lista de columnas puede incluir campos de


diferentes tablas.
JOIN especifica las tablas involucradas en la
consulta.
ON, establece la condicin de unin de las
tablas, a travs de campos comunes.

INSTRUCCIONES SQL JOIN


Cuando se implementan los JOIN, debe tener
en cuenta las siguientes consideraciones:
Especificar las condiciones del JOIN en base
a Primary Key y a Foreign Key.
Si una tabla tiene un Primary Key
compuesta, se debe referenciar a la clave
entera en la clusula ON del JOIN de tablas.
Las columnas comunes a las tablas deben
ser del mismo tipo de dato.

INSTRUCCIONES SQL JOIN


Si dos o ms columnas de las diferentes
tablas que participan en el JOIN, tienen
el mismo nombre, deber de calificar dichas
columnas usando el formato
NombreTabla.Nombre.Columna.
Limitar en lo posible el nmero de tablas en
un JOIN, a ms tablas, el SQL Server
se tomar ms tiempo para resolver la
consulta.

INSTRUCCIONES SQL JOIN


La clusula LEFT JOIN nos permite observar
todos los registros de la tabla que se
referencia a la izquierda en una consulta,
completa las filas con NULL en caso no exista
un valor almacenado en la tabla de la
derecha.

INSTRUCCIONES SQL JOIN


La clusula RIGHT JOIN nos permite
observar todos los registros de la
tabla que se referencia a la derecha en una
consulta, completa las filas con NULL
en caso no exista un valor almacenado en la
tabla de la izquierda.

INSTRUCCIONES SQL JOIN


A inner join B on (condicin): devuelve el
conjunto de registros de AxB (producto
cartesiano) que cumplen la condicin.
A left join B on (condicin):para cada registro
de A, devuelve los de B que cumplan la
condicin. Si no hay ningn registro en B que
cumpla la condicin, se devuelve un registro
con los campos de B a NULL.

INSTRUCCIONES SQL JOIN


Ejemplo
SELECT Num_Pedido, Importe, Empresa,
Limite_credito
FROM PEDIDOS INNER JOIN CLIENTES
ON CLIE = NUM_CLIE
Muestra la lista de vendedores con especificacin de
la ciudad y regin a la cual pertenece.

FUNCIONES AGREGADAS DE SQL


COUNT (devuelve la cantidad de registros
de una vista. (nica que puede utilizarse en
columnas que no sean numricas).
Ejemplo:
SELECT COUNT(campo) FROM tabla
AVG (devuelve el promedio de los valores
que se encuentran en una columna).

FUNCIONES AGREGADAS DE SQL


COUNT (devuelve la cantidad de registros
de una vista. (nica que puede utilizarse en
columnas que no sean numricas).
Ejemplo:
SELECT COUNT(campo) FROM tabla
AVG (devuelve el promedio de los valores
que se encuentran en una columna).

FUNCIONES AGREGADAS DE SQL


SUM (devuelve una sumatoria de los
valores de una columna)
MAX(devuelve el mayor valor encontrado
en una columna)
MIN(devuelve el menor valor encontrado
en una columna)

AGRUPACIN
SELECT <atributos y lista de funciones>

FROM <lista de tablas>


WHERE <condicin>

GROUP BY <atributos de agrupacin>


HAVING <condicin de agrupacin>

ORDER BY <lista de atributos>

CONSULTAS DE ACCIN
Las acciones o Action Queries se pueden
enviar directamente contra la base de datos y
no devuelven resultados.
En este grupo de consultas podemos
clasificar las instrucciones INSERT,
UPDATE y DELETE

INSTRUCCIN INSERT
La instruccin INSERT aade registros a la
base de datos.
Sintaxis:

INSERT INTO tabla (columna, columna2,


... ) VALUES (valor1, valor2, ...)

INSTRUCCIN DELETE
La instruccin DELETE borra registros de
la base de datos.
Sintaxis:
DELETE FROM tabla WHERE condiciones
Tanto FROM como WHERE son
opcionales. Si no se especifica WHERE se
borrarn todos los registros de la tabla
especificada.

INSTRUCCIN UPDATE
La instruccin UPDATE modifica uno o
ms registros de la base de datos,
dependiendo de la clusula WHERE que
especifica las condiciones de actualizacin.

INSTRUCCIN UPDATE
Sintaxis:

UPDATE tabla SET columna1 = valor1,


columna2 = valor2 WHERE condiciones
WHERE es opcional. Si no se especifica
se actualizan todos los registros.

También podría gustarte