Introducción a SQL Server

Introducción a Microsoft SQL Server: es un Sistema de Administración de Bases de Datos Relacionales (RDBMS) cliente/servidor.

introduccion a sql

Este es el primer capítulo del tutorial SQL Server, comencemos viendo la Introducción a SQL Server, el contenido que se tiene en este post es el siguiente:

  • ¿Qué es Microsoft SQL Server?
  • ¿Qué es una base de datos?
  • Objetos de una base de datos relacional.
  • Herramientas de MS SQL Server.
  • Herramientas de administración de SQL Server.
  • Modo de autenticación.
  • Los usuarios de base de datos.
  • Las funciones ó roles en la base de datos.

Introducción a SQL Server

SQL (Structured Query Language) es un lenguaje de manejo de datos creado por IBM en los años setenta como una herramienta para facilitar el acceso de los usuarios a los datos almacenados en las computadoras centrales. El lenguaje fue adoptado por otros fabricantes de productos para bases de datos, por lo que fue necesario definir un estándar. Este estándar se conoce como SQL ANSI.

En la actualidad existe en el mercado muchos productos basados en el estándar SQL ANSI: PL/SQL de Oracle, SQL Server de Microsoft, System 11 de Sybase, DB2 de IBM, etc. Todos los fabricantes diseñan su producto SQL basándose en el estándar ANSI, pero cada uno le añade “extensiones” propias (mejoras o añadidos al lenguaje) para satisfacer los requerimientos particulares de sus clientes. El producto de Microsoft, SQL Server, ahora en su versión 2000 emplea un lenguaje basado en el estándar que Microsoft ha nombrado como Transact-SQL.

¿Qué es Microsoft SQL Server?

Microsoft SQL Server es un Sistema de Administración de Bases de Datos Relacionales (RDBMS) cliente/servidor, que usa Transact-SQL para establecer la comunicación entre el cliente y el servidor SQL Server. Es un estándar informático comúnmente utilizado para definir, modificar y gestionar datos y controlar cómo se realizan cambios en la base de datos usando tablas, índices, claves, filas y columnas para almacenar la información. SQL fue desarrollado a partir de las ideas del Dr. Edgard F. Codd, de IBM, que colaboró en el desarrollo del modelo relacional cuando trabajaba en los laboratorios de investigación de IBM en los años 70.

Microsoft SQL Server 2000 se puede ejecutar en los sistemas operativos Windows 98, Windows Me, Windows NT, y Windows 2000. SQL Server 2000 está implementado como un servicio tanto en Windows NT Workstation como en Windows NT Server y Windows 2000 Professional y Server (lo que hace que opere del lado del servidor), y como una aplicación en Windows 98 y Windows Me.

¿Qué es una base de datos?

SQL Server utiliza un tipo de base de datos denominado base de datos relacional. Las bases de datos relacionales son aquellas en las que los datos están organizados en tablas. Las tablas están organizadas agrupando datos acerca del mismo tema y contienen columnas y filas de información. Las tablas se relacionan entre sí por medio del motor de base de datos cuando se solicita. En general, se puede pensar en una base de datos como un conjunto de datos relacionados. En los primeros productos de base de datos, una base de datos por lo regular era solo un archivo, tal como empleados.dbf, el cual contenía una sola tabla de datos.

Dentro del archivo empleados.dbf había columnas que relacionaban los datos del empleado, como remuneración, fecha de contratación, nombre, número de seguro social, etc. Había una fila para cada persona de la compañía, con los valores correspondientes en las columnas apropiadas. Los índices, empleados para acelerar el acceso a los datos, estaban en un archivo separado, como lo estaba cualquier elemento relacionado con la seguridad.

En SQL Server, una base de datos no necesariamente está atada a un archivo, es mas bien un concepto lógico con base en un conjunto de objetos relacionados. Por ejemplo, en SQL Server, una base de datos contiene no solo los datos, sino además la estructura de la base de datos, todos los índices, la seguridad de la base de datos y tal vez otros objetos como vistas o procedimientos almacenados, relacionados con esa base de datos en particular.

Objetos de una base de datos relacional

Una base de datos relacional está compuesta de diferentes tipos de objetos. Los siguientes son algunos de los objetos más comunes:

Tablas (tables), son los objetos que contienen a los tipos de datos, y los datos en si.
Columnas (columns), son las partes de la tabla que almacenan los datos. A una columna debe asignársele un tipo de dato y un nombre único.
 
Tipos de datos (datatypes), hay varios tipos de datos de donde elegir, como carácter, numérico o fecha. A una columna en una tabla se le asigna un solo tipo de dato.
 
Procedimientos almacenados (stored procedures), éstos son similares a las macros que se utilizan en productos como Excel o Word. Podemos escribir código Transact-SQL y almacenarlo bajo un nombre. Al ejecutar el procedimiento almacenado, usted de hecho ejecuta el código Transact-SQL contenido en él. Un uso seria tomar el código Transact-SQL que ejecuta un informe semanal, guardarlo como un procedimiento almacenado, y a partir de ahí ejecutar solamente el procedimiento almacenado para generar informes.

También pueden emplearse como mecanismos de seguridad.

Disparadores o desencadenantes (triggers), son procedimientos almacenados que se activan cuando se agrega, se modifica o se elimina datos de una base de datos. Las reglas de negocio y la integridad de datos se suele definir mediante triggers. Por ejemplo, un trigger puede asegurar que todo libro en una biblioteca tenga asignado un editor.

Funciones definidas por el usuario (user defined functions), adicionalmente a las funciones proporcionadas por Transact-SQL, podemos crear nuestras propias funciones para ampliar la capacidad del lenguaje.

Reglas (rules), se asignan a las columnas para garantizar que los datos que se registran en ellas cumplan con determinadas condiciones establecidas por la regla. Por ejemplo, puede utilizar una regla para asegurar que el campo o columna de números telefónicos solo contenga números.

Claves principales (primary keys), aunque no son objetos en si, las claves son esenciales para las base de datos relacionales. Las claves principales garantizan que cada fila es única en una tabla, proporcionando una forma de identificar de manera única cada elemento que se almacena.

Claves foráneas (foreign keys), las claves foráneas son columnas que hacen referencia a claves principales o restricciones únicas de otras tablas. SQL Server usa las claves principales y externas para relacionar datos almacenados en tablas separadas al efectuar consultas.

Restricciones (constraints), son mecanismos de integridad de datos implementadas por el sistema, con base en el servidor.

Valores predeterminados (defaults), se puede asignar un valor predeterminado a una columna de modo que si no se registra dato durante una operación INSERT en la columna especifica, se utiliza dicho valor.

Vistas (views), básicamente las vistas son consultas almacenadas en la base de datos que pueden hacer referencia a una o varias tablas. Puede crearlas y guardarlas a fin de utilizarlas con facilidad en el futuro. Por lo regular las vistas excluyen ciertas columnas de una tablas, o bien, vinculan varias tablas.

También pueden emplearse como mecanismos de seguridad para que ciertos usuarios puedan consultarlas y otros no.

Indices (indexes), pueden ayudarle a organizar los datos a efecto de que las consultas se ejecuten con mayor rapidez.

Herramientas de MS SQL Server

Una vez que finaliza la instalación de SQL Server 2000 encontrará una variedad de herramientas cuya funcionalidad explicaremos a continuación.

Administrador corporativo (Enterprise Manager)

El Administrador corporativo de SQL Server (SQL Server Enterprise Manager) es la principal interfase gráfica para administración y desarrollo de SQL Server. Hay muy poco que el administrador corporativo no pueda lograr a partir de un comando de Trannsact-SQL. Sin embargo, en ocasiones es mas conveniente el administrador corporativo ya que da una visión gráfica de laslabores desarrolladas.

El Administrador corporativo de SQL Server es lo que se conoce como una incorporación MMC. MMC son las siglas de Microsoft Management Console (Consola de Administración de Microsoft). MMC es un utilitario común que pueden usar Microsoft y otros fabricantes como interfase administrativa común para sus productos. Todos los productos BackOffice utilizan MMC como su
interfase administrativa primaria.

Administrador de servicios (Service Manager)

El utilitario Administrador de servicios de SQL Server (SQL Server Service Manager) le permite controlar en su computadora los servicios relacionados con SQL Server.

Analizador de consultas (Query Analyzer)

El Analizador de consultas de SQL Server (SQL Server Query Analyzer) es su interfase principal para ejecutar consultas de Transact-SQL o procedimientos almacenados

Analizador (Profiler)

El utilitario Analizador de SQL Server (SQL Server Profiler) le permite supervisar toda la actividad en su SQL Server. También puede emplear este utilitario para realizar actividades de afinación del rendimiento, como examinar el plan de ejecución que usará SQL Server para ejecutar sus consultas. El Analizador tiene mecanismos sofisticados de filtrado que le permiten seguir la huella solo a usuarios, aplicaciones o tipos de comando especifico.

Configurar compatibilidad con SQL XML en IIS

Para administrar los directorios virtuales de Internet Information Service.

Herramienta de red de cliente (Client Network Utility)

La Herramienta de red de cliente no es difícil de utilizar, pero tiene un tremendo impacto sobre la conectividad de sus computadoras cliente a su SQL Server. Administra y configura los componentes de comunicación de los clientes SQL Server.

Herramienta de red de servidor (Server Network Utility)

Este utilitario se parece a la herramienta Configuración del Cliente (Client Configuration); ambas están estrechamente relacionadas. A diferencia de la utilería de configuración del cliente la cual controla cómo sus aplicaciones a SQL Server, la Herramienta de red de servidor (Server Network) administra las bibliotecas de red sobre las que está trabajando SQL Server 2000.

Importar y exportar datos (Import and Export Data)

Esta opción del grupo de programas de SQL Server inicia los asistentes para importación/exportación con servicios de transformación de datos. 

Libros en pantalla (Books Online)

Los Libros en pantalla de SQL Server (SQL Server Books Online) son su principal fuente de consulta. Cuando tenga una pregunta acerca de SQL Server, puede acudir a los libros en pantalla que se incluyen en lugar de los manuales impresos, aunque es posible solicitar copias impresas a Microsoft. Los libros se entregn como un conjunto compilado de paginas HTML, así que puede verlos dentro del contexto de Microsoft Internet Explore 4.01 o posterior.

Herramientas de Administración de SQL Server

Administración de SQL Server

Para administrar el SQL Server disponemos de:

  • Las utilidades batch proporcionadas con SQL Server.
  • Las herramientas gráficas de administración proporcionadas con SQL Server Enterprise Manager.
  • Aplicaciones compatibles como PowerBuilder, Visual Basic, etc.

Las sentencias Transact-SQL son fundamentalmente mecanismos utilizados por el administrador de SQL.

SQL Server Agent

SQL Server Agent es un servicio que trabaja en conjunto con SQL Server, y que permite administrar lo siguiente:
Administración de alertas (Alert Management)
Una alerta provee información del estado de los procesos, cuando se produce un evento o cuando ocurre un error. SQL Server Agent monitorea la aplicación Event Log de Windows NT/2000 y genera alertas.

Notificación (Notification)

SQL Server Agent envía mensajes vía e-mail al operador o inicia otra aplicación cuando ocurre una alerta. Por ejemplo cuando se realiza un backup y no ha terminado satisfactoriamente, en este caso se debe enviar un mensaje al operador.

Ejecución de trabajos (Job Execution)

SQL Server Agent incluye la creación de trabajos y su ejecución en un horario determinado del servidor.

Administración de la replicación (Replication Management)

La replicación es el proceso de copiar data o las transacciones desde un servidor SQL a otro. SQL Server Agent es el responsable de sincronizar la data entre los servidores, monitorear la data para cambios y replicar la información hacia otro servidor.

Modo de autenticación

Una aplicación cliente necesita los siguientes datos para conectarse a un servidor SQL:

  • El nombre del servidor SQL.
  • El nombre de inicio de sesión (login id).
  • La contraseña (password).

El login id es el identificador de la cuenta SQL que permite el acceso al servidor SQL. El proceso de autenticación de la conexión se puede realizar de dos maneras:

Autenticación SQL Server

Para conectarse utilizando este modo de autenticación es necesario proporcionar el login id de una cuenta definida en el servidor SQL. Esta cuenta no está relacionada con las cuentas de Windows 95/98/Me o con las cuentas de red.

Autenticación Windows

Para conectarse usando este modo de autenticación, el usuario simplemente se conecta al servidor Windows NT/2000 utilizando su cuenta NT/2000. Este usuario tendrá acceso al servidor SQL si su cuenta NT/2000 ha sido definida por el administrador del servidor SQL como una cuenta válida para ingresar a SQL Server. No necesitará proporcionar un login id de SQL.

Selección del modo de autenticación

El administrador del servidor SQL puede especificar que el servidor se ejecute utilizando uno de los siguientes modos de autenticación:

  • Modo de autenticación Windows
    Solo está permitida la autenticación Windows. Los usuarios no pueden especificar un login id de inicio de sesión de SQL Server.
  • Modo de autenticación mixta
    Si el usuario suministra un login id de SQL Server, será autenticado mediante ese login id. Si no lo suministra, será autenticado a través de Windows NT/2000.

Funciones fijas de bases de datos

  • db_owner: Tiene todos los permisos en la base de datos.
  • db_accessadmin: Puede añadir y eliminar usuarios, grupos y funciones.
  • db_securityadmin: Puede administrar todos los permisos.
  • db_ddladmin: Puede añadir, modificar y eliminar objetos de la base de datos.
  • db_backupoperator: Puede respaldar y restaurar la base de datos.
  • db_datareader: Puede leer cualquier tabla de usuario de la base de datos.
  • db_datawriter: Puede modificar el contenido de cualquier tabla de usuario de la base de datos.
  • db_denydatareader: Puede denegar o retirar permisos SELECT sobre cualquier objeto.
  • db_denydatawriter: Puede denegar o retirar permisos INSERT, UPDATE y DELETE sobre cualquier objeto.
  • public: Mantiene todos los permisos por defecto para todos los usuarios de la base de datos. Todos los usuarios pertenecen a esta función.

Contenido relacionado:

Te puede interesar

Deja una respuesta

Tu dirección de correo electrónico no será publicada.