Está en la página 1de 42

Instituto Superior Tecnolgico Bolivariano de Tecnologa

Carrera de Tecnologa en Sistemas de Informacin

INTEGRANTES: DOUGLAS AYALA MILTON FLORES SQL SERVER 2008.


EL SQL ES UN LENGUAJE ESTNDAR DE PROGRAMACIN PARA EL ACCESO A BASES DE DATOS.

Qu ES SQL SERVER 2008?


Puede ejecutar consultas y puede obtener datos de una base de datos.

Insertar registros en SQL y puede actualizar registros de una base de datos.

Borrar registros de una base de datos SQL puede crear nuevas tablas en una base de datos

Crea procedimientos almacenados(codigo almacenado) , vistas en una base de datos SQL puede configurar permisos a tablas, procedimientos, y vistas

PLATAFORMA DE SQL SERVER

Base de datos relacional: Un motor de base de datos relacional ms segura, confiable, escalable y altamente disponible con mejor rendimiento y compatible para datos estructurados y sin estructura (XML).

Servicios de rplica: Rplica de datos para aplicaciones de procesamiento de datos distribuidas o mviles, alta disponibilidad de los sistemas, concurrencia escalable con almacenes de datos secundarios para soluciones de informacin empresarial e integracin con sistemas heterogneos, incluidas las bases de datos Oracle existentes.

Notification Services: Capacidades avanzadas de notificacin para el desarrollo y el despliegue de aplicaciones escalables que pueden entregar actualizaciones de informacin personalizadas y oportunas a una diversidad de dispositivos conectados y mvi les.

Integration Services: Capacidades de extraccin, transformacin y carga (ELT) de datos para almacenamiento e integracin de datos en toda la empresa.

Analysis Services: Capacidades de procesamiento analtico en lnea (OLAP) para el anlisis rpido y sofisticado de conjuntos de datos grandes y complejos, utilizando almacenamiento multidimensional.

Reporting Services: Una solucin global para crear, administrar y proporcionar tanto informes tradicionales orientados al papel como informes interactivos bas ados en la Web.

SQL Server incluye herramientas integradas de administracin para administracin y optimizacin avanzadas de bases de datos, as como tambin integracin directa con herramientas tales como Microsoft Operatio ns Manager (MOM) y Microsoft Systems Management Server (SMS). Los protocolos de acceso de datos estndar reducen drsticamente el tiempo que demanda integrar los datos en SQL Server con los sistemas existentes. Asimismo, el soporte del servicio Web nativo est incorporado en SQL Server para garantizar la interoperabilidad con otras aplicaciones y plataformas.

. SQL Server ofrece herramientas integradas de desarrollo para el motor de base de datos, extraccin, transformacin y carga de datos, minera de datos, OLAP e informes que estn directamente integrados con Microsoft Visual Studio para ofrecer capacidades de desarrollo de aplicacin de extremo a extremo. Cada subsistema principal en SQL Server se entrega con su propio modelo de objeto y conjunto de interfaces del programa de aplicacin (API) para ampliar el sistema de datos en cualquier direccin que sea especfica de su negocio.

Herramientas de administracin:

Herramientas de desarrollo

Integridad de Datos
Dos cosas importantes en el diseo de las tablas:

Identificacin de valores validos para una columna. Determinar como forzar la integridad de los datos en la columna.

Categoras:

Entidad (Filas)

Dominio (Fsico y Lgico) (Columnas)

Referencial (Entre Tablas)

Integridad de Datos

Referencial.- Mantener las relaciones entre las claves principales y las claves externas.

Agregar o Cambiar Filas (Ninguna fila) Cambiar Valores (Filas Hurfanas) Eliminar Filas (Existen Filas Relacionadas)

Entidad (Filas)

Referencial (Entre Tablas)

Dominio (Fsico y Lgico) (Columnas)

Entidad.- Todas la filas de una tabla tengan un identificador nico; conocido como clave principal o PK.

Dominio.- Conjunto de valores de datos que son validos para una columna determinada adems de valores nulos o no.

Restricciones o Constraints

Mtodos estndar ANSI para exigir la integridad de los datos. Usados en Integridad de Datos (dominio, entidad y referencial).
Tipo Constraint DEFAULT CHECK FOREIGN KEY Descripcin Valor Predeterminado, cuando un insert no proporciona ningn valor.Datos aceptados en una columna (No reglas). Valores aceptables para la actualizacin; columna de otra tabla. Identifica cada fila de manera nica. Impide la duplicacin de claves alternativas no principales Columna (s) que coinciden con la PK de la misma tabla o otra conocida como FK. Datos aceptados en una columna basndose en otras de la misma tabla.

Dominio

Entidad

PRIMERY KEY UNIQUE

Referencial

FOREIGN KEY CHECK

Actualizacin y eliminaciones Cascada

NO ACTION.-Se produce un error y se deshace la instruccin (Predeterminado) CASCADE.-Los valores de la clave Externa se actualizan o Eliminan. SET NULL.- Los Valores de la clave externa se establecen a NULL SET DEFAULT.- Los Valores de la clave externa se establecen a sus valores predeterminados.

Creamos la base de datos CREATE DATABASE empresa

CREATE TABLE dbo.Personas ( P_id int PRIMARY KEY IDENTITY, Nombre nchar(20) NOT NULL, Apellidos nchar(30) NOT NULL, Direccion nchar(40) NOT NULL, Ciudad nchar(10) NOT NULL ) GO

CREANDO TABLA

SQL

INSERT INTO Personas VALUES ('Marco Antonio','Trejo Lemus','Calle E 822','Tampico') INSERT INTO Personas VALUES ('Martha Beatriz','Trejo Lemus','Calle E 822','Tampico') INSERT INTO Personas VALUES ('Juana Elvira','Trejo Lemus','Calle E 822','Tampico') INSERT INTO Personas VALUES ('Nora Zulma','Trejo Lemus','Calle E 822','Tampico') INSERT INTO Personas VALUES ('Laura Lucero','Sobrevilla Trejo','Calle E 822','Tampico')

INSERT INTO Personas VALUES ('Trinidad','Trejo Bautista','Calle E 822','Tampico') INSERT INTO Personas VALUES ('Marcel Abisag','Sobrevilla Trejo','Calle E 822','Tampico') INSERT INTO Personas VALUES ('Jose Abraham','Sobrevilla Trejo','Calle E 822','Tampico') INSERT INTO Personas VALUES ('Samuel Salomon','Olmeda Trejo','Calle E 822','Tampico')

INSERTANDO

DATOS

Seleccionara todos los registros de la tabla "Personas"

SELECT * FROM Personas

EJEMPLO

Lenguaje de control de datos (DCL).

El Lenguaje de Manipulacion de Datos (DML)

SQL

El Lenguaje de Definicion de Datos (DDL)

La parte DML del SQL de los comandos de consulta y actualizacin


SELECT extrae datos.

INSERT INTO -inserta datos

UPDATE actualiza datos

DELETE borra datos

CREATE DATABASE crea una nueva base de datos ALTER DATABASE modifica una base de datos CREATE TABLE crea una nueva tabla

ALTER TABLE modifica una tabla

DLL del SQL que permite a bases de datos y tablas ser creadas o borradas. Tambin define ndices(llaves). especifica enlaces entre tablas, y impone relaciones entre tablas.

DROP TABLE borra una tabla

DROP INDEX borra un indice

CREATE INDEX crea un indice (llave de busqueda)

SELECT es usada para seleccionar datos de una base de datos

El resultado es almacenado en una tabla temporal, llamada tabla-resultado La sintaxis SQL de la sentencia SELECT es: 1.SELECT nombre_columna(s) FROM nombre_tabla 2.SELECT * FROM nombre_tabla

SELECT nombre_columna(s) FROM nombre_tabla SELECT Nombre,Apellidos,Ciudad FROM Personas

EJEMPLO 1

SELECT * FROM nombre_tabla SELECT * FROM Personas

EJEMPLO 2

Puede ser usada como llave que regresa valores distintos.

D
Dentro de una tabla, algunas columnas pueden contener valores duplicados. Esto no es un problema, algunas veces tu querrs listar solo los valores diferentes (distintos) en la tabla. Sintaxis SQL SELECT DISTINCT SELECT DISTINCT nombre_columna(s) FROM nombre_table

I S

T
I N

C
T

SELECT DISTINCT Ciudad FROM Personas Abajo esta el resultado de la sentencia DISTINCT a la tabla "Personas":

Ejemplo:
SELECT DISTINCT Apellidos FROM Personas Abajo esta el resultado de la sentencia DISTINCT a la tabla "Personas":

SQL WHERE La sentencia where es La Sintaxis SQL WHERE Usada para extraer solo los registros que cumplen con el criterio especificado SELECT nombre_columna(s) FROM nombre_tabla WHERE nombre_columna operador valor

Ejemplo de la sentecia WHERE

SELECT * FROM Personas WHERE Apellidos ='Trejo Lemus'

La sentencia ORDER BY
La sentencia ORDER BY es usada para ordenar los registros en orden ascendente por default Usada para ordenar un resultado ordenado por una columna especifica Si quieres ordenar los registros en orden descendente utiliza la palabra DESC Sintaxis SQL ORDER BY

SELECT nombre_columna(s) FROM nombre_tabla ORDER BY nombre_column(s) ASCDESC

Ahora vamos a seleccionar todas las personas de la tabla, pero mostrando en orden por el campo Nombre Usaremos la siguiente sentencia SELECT:

SELECT * FROM Personas ORDER BY Nombre

El resultado sera el siguiente:

La sentencia ORDER BY

Sintaxis SQL UPDATE

La sentencia UPDATE es usada para actualizar registros en una tabla

UPDATE nombre_tabla SET columna1=valor, column2=valor,... WHERE alguna_columna=algun_valor

Nota: La sentencia WEHRE en la sintaxis UPDATE, especifica cual de los registros va a ser actualizado. Si omites la sentencia WHERE todos los registros sern actualizados.
Ahora vamos a actualizar la persona "Antonio Trejo Campos" en la tabla Personas Usaremos la siguientes sentencias SQL: UPDATE Personas SET Direccion='Canoga Park', Ciudad='L.A.' WHERE Nombre='Antonio' AND Apellido='Trejo Campos'

CUIDADO!!!

al utilizar la sentencia UPDATE

Si omites la sentencia WHERE se actualizaran todos los registros de esta forma: UPDATE Personas SET Direccion='Canoga Park', Ciudad='L.A.' El resultado seria:

La sentencia DELETE
La sentencia DELETE se usa para borrar registros o filas en una tabla Sintaxis SQL DELETE DELETE FROM nombre_tabla WHERE alguna_columna=algun_valor Nota: La sentencia WHERE en la sintaxis DELETE especifica el registro o los registros que seran borrados, si omites la sentencia WHERE, todos los registros seran borrados de la tabla Ahora vamos a borrar la persona "Marco Antonio Trejo Lemus" en la tabla Personas con la siguiente sentencia: DELETE FROM Personas WHERE Nombre='Marco Antonio' AND Apellidos='Trejo Lemus' SELECT * FROM Personas

Una vista es como una tabla virtual que almacena una consulta (SELECT). Almacena una consulta como un objeto para utilizarse posteriormente. Las tablas consultadas en una vista se llaman tablas base. Las vistas permiten:

Ocultar informacin: permitiendo el acceso a algunos datos y manteniendo oculto el resto.


El usuario opera con los datos de una vista como si se tratara de una tabla.

CREATE VIEW <NombreVista> AS <sentencia SQL SELECT>

CREATE INDEX se utiliza para crear ndices en una tabla.


Un ndice sirve para buscar datos rpidamente, y no tener que recorrer toda la tabla secuencialmente en busca alguna fila concreta.

Actualizar una tabla con ndices tarda ms tiempo porque tambin hay que actualizar los ndices, as que solo se deben poner ndices en las columnas por las que buscamos frecuentemente.

Si una columna es ndice de una tabla, al buscar por un valor de esa columna, iremos directamente a la fila correspondiente. La bsqueda as es mucho ms ptima en recursos y ms rpida en tiempo.

Si esa columna de bsqueda no fuese ndice, entonces tendramos que recorrer de forma secuencial la tabla en busca de algn dato. Por eso, es importante crear un ndice por cada tipo de bsqueda que queramos hacer en la tabla.

Sintaxis para SQL CREATE INDEX CREATE INDEX nombreindice ON nombretabla (nombrecolumna)

La columna que forma parte de este ndice admite valores duplicados en su columna. Sintaxis para SQL CREATE UNIQUE INDEX

CREATE UNIQUE INDEX nombreindice ON nombretabla (nombrecolumna)

La columna que forma parte de este ndice NO admite valores duplicados en su columna, porque es una clave nica.

Ejemplos para SQL CREATE INDEX


Creamos la ndice 'indicepersonas' sobre la columna 'persona' de la tabla 'personas' CREATE INDEX indicepersonas ON personas (persona)

Si queremos crear un ndice sobre varias columnas, por ejemplo, apellido1 y apellido2 CREATE INDEX indice2personas ON personas(apellido1, apellido2)

Copias de Seguridad y Restauracin

El componente de copias de seguridad y restauracin de SQL Server ofrece una proteccin muy importante para los datos crticos almacenados en las bases de datos. Casos Comunes:

Errores de medios.

Desastres naturales.

Errores de hardware, por ejemplo, una unidad de disco daada o la prdida permanente de un servidor.

Errores de usuario, por ejemplo, quitar una tabla por error

mbito Copias de seguridad de datos


El mbito de una copia de seguridad de datos puede ser la base de datos completa, parcial o un conjunto de archivos o grupos de archivos. Una copia de seguridad completa incluye todos los datos de una base de datos determinada o un conjunto de grupos de archivos o archivos. Una copia de seguridad diferencial se basa en la ltima copia de seguridad completa de los datos. Una copia de seguridad diferencial incluye slo los datos que han cambiado desde la ltima base diferencial.

Automatizacin BACKUP Planes de Mantenimiento


Crean

un flujo de trabajo de las tareas necesarias para asegurarse de que la base de datos est optimizada, se realizan copias de seguridad con regularidad y no tiene incoherencias. Crear sus propias secuencias de comandos Transact-SQL personalizadas. Agente SQL Server del Explorador de objetos slo aparece para los miembros de la funcin fija de servidor sysadmin, este debe estar en ejecucin.

Seguridad Inicios de Sesin


Un inicio de sesin define el contexto de seguridad en cada proceso que ejecuta. Los usuarios de Windows necesitan un inicio de sesin de SQL Server para conectarse. 2 tipos (Modo Mixto)
Autentificacin de Windows Autenticacin de Sql Server

Funciones del Servidor Asignacin de Usuarios Funcin Sobre la base de datos

Usuario de la Base de Datos

Esquemas Utilizado Miembros de Funcin Elementos que podemos Proteger Tablas, Vistas y Procedimientos Almacenados Permisos: Conceder, Denegar, WITH GRANT. Hacer una Prueba con ODBC. Explicar la Cadena de Conexin de una Aplicacin

La informacin es uno de los activos ms importantes de las entidades.

Seguridad de una Base de Datos

Hace unos aos era ms fcil, con arquitecturas centralizadas y terminales no inteligentes

La disponibilidad: se cumple si las personas autorizadas pueden acceder a tiempo a la informacin.


En administracin de seguridad pueden existir coordinadores en las diferentes reas funcionales. Hoy en da los entornos son realmente complejos, con diversidad de plataformas y proliferacin de redes. Los hacker, que intenta acceder a los sistemas ms para demostrar de que es capaz de superar las barreras de proteccin.

http://sql.11sql.com/sqlinner-join.htm