Sei sulla pagina 1di 8

MICROSOFT SQL SERVER Introduccin El lenguaje de consulta estructurado (SQL) es un lenguaje de bases de datos normalizado, utilizado por los

diferentes motores de bases de datos para realizar determinadas operaciones sobre los las sentencias que se utilizan para definir los datos que se denominan LDD y las que se emplean para manipularlos que se denominan LMD. Estas sentencias nos ayudan a mostrar los datos de una o ms tablas, o de una o ms vistas, modificar los valores de atributos en filas existentes, eliminar filas de tablas o vistas, agregar nuevas filas a una tabla o vista, bloquear una tabla o vista, limitando temporalmente el acceso de otros usuarios, ver el plan de ejecucin de una sentencia SQL y colocar restricciones en las tabla. Objetivo General Asimilar conocimientos en cuanto a la creacin de vistas, ndices y constraint en Microsoft SQL Server. Objetivo Especifico Descubrir los conceptos generales a la creacin de vistas, ndices y constraint en Microsoft SQL Server Conocer acerca de sus funciones en una tabla relacional de bases de datos. Observar los resultados que obtenemos al ejecutar estas funciones.

BASE DE DATOS

Pgina 2

MICROSOFT SQL SERVER MARCO TERICO VISTAS EN MICROSOFT SQL SERVER Qu es una vista? En teora de bases de datos, una vista es una consulta accesible como una tabla virtual en una base de datos relacional. Las vistas tienen la misma estructura que una tabla: filas y columnas. La nica diferencia es que slo se almacena de ellas la definicin, no los datos. Los datos que se recuperan mediante una consulta a una vista se presentarn igual que los de una tabla. De hecho, si no se sabe que se est trabajando con una vista, nada hace suponer que es as. Al igual que sucede con una tabla, se pueden insertar, actualizar, borrar y seleccionar datos en una vista. Aunque siempre es posible seleccionar datos de una vista, en algunas condiciones existen restricciones para realizar el resto de las operaciones sobre vistas. Una vista se especifica a travs de una expresin de consulta (una sentencia SELECT) que la calcula y que puede realizarse sobre una o ms tablas. Sobre un conjunto de tablas relacionales se puede trabajar con un nmero cualquiera de vistas. La mayora de los SGBD soportan la creacin y manipulacin de vistas. Las vistas se crean cuando se necesitan hacer varias sentencias para devolver una tabla final. Creacin de vistas en Microsoft SQL Server Las vistas pueden considerarse como tablas virtuales. Generalmente hablando, una tabla tiene un conjunto de definiciones, y almacena datos fsicamente. Una vista tambin tiene un conjunto de definiciones, que se construye en la parte superior de la(s) tabla(s) u otra(s) vista(s), y no almacena datos fsicamente. La sintaxis para la creacin de una vista en SQL Server Management Studio es la siguiente: USE SUPERTEL Create table SPERTEL_RIO (Direccin varchar (20), Telfono int)

BASE DE DATOS

Pgina 3

MICROSOFT SQL SERVER INDICES EN MICROSOFT SQL SERVER Los ndices estn estructurados para facilitar una respuesta rpida de conjuntos de resultados. Los dos tipos de ndices que SQL Server soporta son agrupados y no agrupados. Los ndices son aplicados a una o ms columnas en tablas o vistas. Tablas indexadas son soportadas por todas las ediciones de SQL Server y vistas indexadas son soportadas por las ediciones SQL Server Entreprise y SQL Server Developer. Las caractersticas de un ndice afecta el uso de los recursos del sistema y performance general. El Query Optimizer usar un ndice si este mejorar la performance de la consulta. Un ndice en SQL Server asiste al motor de base de datos en la ubicacin de los registros, tal como un ndice en un libro ayuda a ubicar informacin rpidamente. Sin ndices, una consulta deber buscar en todos los registros de la tabla en orden a encontrar coincidencias. Un ndice de base de datos una o ms columnas de valores de la tabla (llamadas clave del ndice) y punteros a los correspondientes registros de la tabla. Cuando se ejecuta una consulta usando la clave del ndice, el Query Optimizer utilizar el ndice para ubicar los registros que cumplen con la consulta. Un ndice es estructurado por el SQL Server Index manager como un rbol balanceado (B-tree). Un B-tree es anlogo a un rbol invertido con la raz del rbol arriba, y los niveles hoja abajo, con niveles medios entre ambos. Cada objeto en la estructura de rbol es un grupo de claves del ndice ordenadas llamadas pginas del ndice. Tipos de ndices ndices Agrupados:

Cuando se crea una restriccin PRIMARY KEY en una tabla que no contiene un ndice agrupado, SQL Server crear uno y utilizar la columna de clave primaria como clave para el ndice agrupado. Si ya existe un ndice agrupado SQL Server crear un ndice no agrupado sobre la columna definida con una restriccin PRIMARY KEY. Una columna definida como la clave primaria es un ndice muy til porque los valores de la columna estn garantizados que son nicos. ndices sobre columnas de valores nicos son de menor tamao que los ndices sobre columnas con valores duplicados y generan estructuras de bsqueda ms eficientes. Una columna definida con una restriccin UNIQUE genera automticamente un ndice no agrupado. CREATE TABLE dbo.Personas ( PersonID smallint PRIMARY KEY NONCLUSTERED, Nombre varchar(39), Apellido varchar(40), NumDocumento char(11) UNIQUE CLUSTERED)
BASE DE DATOS Pgina 4

MICROSOFT SQL SERVER Suponga que se crea una tabla Personas que contiene las siguientes columnas: PersonaID, Nombre, Apellido y NumDocumento. La columna PersonID se define con la restriccin PRIMARY KEY, la columna NumDocumento con la restriccin UNIQUE. Para hacer un ndice agrupado para la columna NumDocumento y un ndice no agrupado para la columna PersonID, se crea la tabla usando la siguiente sintaxis: ndices no agrupados:

Sobre una tabla o vista se pueden crear 250 ndice no agrupados o 249 ndices no agrupados y un ndice agrupado. Se debe primero crear un ndice nico agrupado sobre una vista previa a crear los ndices no agrupados. Esta restriccin no se aplica a las tablas. Un ndice no agrupado es anlogo a un ndice al final de un libro. Se puede usar el ndice del libro para ubicar las pginas que contienen una tema del ndice del libro. La base de datos usa los ndices no agrupados para encontrar registros segn una clave. Si no existe un ndice agrupado para la tabla, los datos de la tabla se encontrarn desordenados fsicamente y se dice que la tabla tendr la estructura de montn (heap). Un ndice no agrupado sobre una tabla montn contiene punteros a las filas de la tabla. Cada entrada en las pginas de ndice contiene un identificador de fila (RID, row ID). El RID es un puntero a una fila en un montn, y este consiste de un nmero de pgina, un nmero de archivo y un nmero de ranura. Si existe un ndice agrupado, las pginas de un ndice no agrupado contienen las claves del ndice agrupado en vez del RID CONSTRAINT EN MICROSOFT SQL SERVER Puede colocar restricciones para limitar el tipo de dato que puede ingresarse en una tabla. Dichas restricciones pueden especificarse cuando la tabla se crea por primera vez a travs de la instruccin CREATE TABLE, o luego de crear la tabla a travs de la instruccin ALTER TABLE. Los tipos comunes de restricciones incluyen las siguientes: NOT NULL UNIQUE CHECK CLAVE PRIMARIA CLAVE EXTERNA NOT NULL En forma predeterminada, una columna puede ser NULL. Si no desea permitir un valor NULL en una columna, querr colocar una restriccin en esta columna especificando que NULL no es ahora un valor permitido.
BASE DE DATOS Pgina 5

MICROSOFT SQL SERVER Por ejemplo, en la siguiente instruccin, CREATE TABLE Customer (SID integer NOT NULL, Last_Name varchar (30) NOT NULL, First_Name varchar(30)); Las columnas SID y Last_Name no incluyen NULL, mientras que First_Name puede incluir NULL. UNIQUE La restriccin UNIQUE asegura que todos los valores en una columna sean distintos. Por ejemplo, en la siguiente instruccin, CREATE TABLE Customer (SID integer Unique, Last_Name varchar (30), First_Name varchar(30)); La columna SID no puede incluir valores duplicados, mientras dicha restriccin no se aplica para columnas Last_Name y First_Name. Por favor note que una columna que se especifica como clave primaria tambin puede ser nica. Al mismo tiempo, una columna que es nica puede o no ser clave primaria. CHECK La restriccin CHECK asegura que todos los valores en una columna cumplan ciertas condiciones. Por ejemplo, en la siguiente instruccin, CREATE TABLE Customer (SID integer CHECK (SID > 0), Last_Name varchar (30), First_Name varchar(30)); La columna SID slo debe incluir enteros mayores a 0. Por favor note que la restriccin CHECK no sea ejecutada por MySQL en este momento.

BASE DE DATOS

Pgina 6

MICROSOFT SQL SERVER CLAVE PRIMARIA La clave primaria se utiliza para identificar en forma nica cada lnea en la tabla. Puede ser parte de un registro real, o puede ser un campo artificial (uno que no tiene nada que ver con el registro real). Una clave primaria puede consistir en uno o ms campos en una tabla. Cuando se utilizan mltiples campos como clave primaria, se los denomina claves compuestas. Las claves primarias pueden especificarse cuando se crea la tabla (utilizando CREATE TABLE) o cambiando la estructura existente de la tabla (utilizando ALTER TABLE). USE SUPERTEL create table SPERTEL_RIO (Direccin varchar (20), Telfono int, primary key (Direccin)) CLAVE EXTERNA Una clave externa es un campo (o campos) que seala la clave primaria de otra tabla. El propsito de la clave externa es asegurar la integridad referencial de los datos. En otras palabras, slo se permiten los valores que se esperan que aparezcan en la base de datos. USE SUPERTEL create table MEDIOS_TRANS (Frecuencia int, Categora char(20), NomEst varchar (20), Tipo char(20), DireccionMT varchar (20), Constraint fk_Tec FOREIGN KEY (DireccionMT) REFERENCES SPERTEL_RIO(Direccin), primary key (Frecuencia))

BASE DE DATOS

Pgina 7

MICROSOFT SQL SERVER Conclusiones El uso adecuado de los constraint es la prevencin necesaria para evitar problemas al momento de llenar nuestra base de datos. Cuando se crea una restriccin PRIMARY KEY en una tabla que no contiene un ndice agrupado, SQL Server crear uno y utilizar la columna de clave primaria como clave para el ndice agrupado. Se debe recordar que una restriccin PRIMARY KEY nunca debe que ser nulo. Recomendaciones Al crear una tabla que tiene una relacin con otra tabla, hay que diferenciar el tipo de restriccin que se pueden utilizar para tablas de uno a muchos o de muchos a muchos. WEBGRAFIA
http://www.1keydata.com/es/sql/sql-create-view.php http://www.sqlserverya.com.ar/temarios/descripcion.php?cod=68&punto=62 http://www.1keydata.com/es/sql/sql-constraint.php http://html.rincondelvago.com/sql_4.html http://html.rincondelvago.com/lenguaje-sql_2.html

BASE DE DATOS

Pgina 8

Potrebbero piacerti anche