Base de datos en SQL Server por Lcdo. José Fernando Frugone Jaramillo



Base de Datos SQL Server.



Lo que es podemos decir de la base de datos en SQL Server.- 

Podemos decir que SQL Server es una base de datos  cliente - servidor basado en SQL, utiliza la versión ANSI (American National Standard Institute) del lenguaje SQL Server-Cliente Servidor indica que SQL Server Server se ha diseñado para almacenar datos en una computadora central (servidor) y distribuirlas a otros sistemas (clientes). Como esperar, SQL Server es una colección de distintos componentes. Entre ellois tenemos el propio SQL Server, Agent DQL Server, SQL Mail y Coordinador de Transacciones Distribuidas.








Arquitectura de un cliente servidor.-

Las aplicaciones cliente-servidor pueden cubrir una gran cantidad de arquiectura se pueden crear a través de numerosos herramientas, independiente relacionados los siguientes beneficios:
Flexibilidad.- Se puede conseguir  una gran eficacia y ancho de banda ya que el trabajo se puede distribuir del escritorio a servidores mas potentes.
Reutilidad.-  Funcionalidad basada en componentes que pueden compartir y utilizar varias aplicaciones.
Facilidad de mantenimiento.-  Los proyectos complejos se pueden dividir en componebtes más pequeños. La lógica emptresarial tandrá lugar en un servidor centralizado, en vez de hacerlo en las estaciones de trabajo, con la que se simplifican los cambios y se redicen el tiempo necesario para implementar soluciones.



Servicios de SQL Server.-


Los servicios de SQL Server son los siguientes:
  1. MSSQL Server.- Administración de datos, procesamiento de consulta y transacciones, integridad de datos
  2. SQL Server Agent.- Tareas, alertas y operadores.
  3. MS DTC.- Administración de transacciones distribuidas.


Arquitectura de una base de datos.

Una base de datos SQL Server controla las tablas de datos según las reglas que ellos mismos establecen a través de datos. Cuando instala el software de SQL Server, automáticamente se crea cuatro bases de datos porque un error provocará que deje de funcionar el servidor, estas bases de datos son: Master, Model, Tempdb y Msdb.


  • Master.-      En esta base de datos se encuentra información sobre las cuentas del usuarios y la configuración del sistema. Asi mismo, tiene información sobre donde localizar las bases de datos que crean los clientes.

  • Model.-         La base de datos de Model, es el único de las cuatro bases de datos pueden modificar cierta configuración del usuario del sistema. Asi mismo, tiene información sobre donde localizar las bases de datos  con los clientes.
  • Tempdb.-     En esta base de datos se guardan todas las tablas temporales.
  • MSDB.-  En esta base de datos se utiliza para que Agent SQL Server guarde la información que necesita para procesar trabajo y alertas.

Creación de una Base de Datos (SQL Server)

La forma más sencilla de crear una base de datos es a tráves del Asistente para la creación de base de datos, que es otra de las novedades que presentan en SQL Server.
Tiene un Asistente, para abrir el abrir el asistente seleccione Herramientas, Asistente del menú de comandos o haga clic en el botón Ejecutar un asistente; accederá a la lista de asistentes.

El asistente le suministrará cierto control en la creación de base de datos aunque la verdad es que oculta las opciones mas avanzadas.

El comando para crear una base de datos a tráves de Transac SQL es el comando CREATE DATABASE.

Su sintáxis es:

CREATE DATABASE nombre_base_datos
[ON [PRIMARY]
[<filespace>..n]
]
[Log ON {<filespace>}]

< filespace>:=
([NAME = nombre_archivo_logico,]
FILENAME = 'nombre_archivo_sistema_operativo'
[,SIZE = tamaño]
[,MAXSIZE = {tamaño_max | UNLIMITED}]
[, FILEGROWN = incremento)]

Un ejemplo de creación de una base de datos:

  1. En el query analiser, seleccionar la base de datos Master.
  2. Ejecutar la siguiente sentencia CREATE DATABASE Ventas
  3. Ir al SQL Server Enterprise manager
  4. Revisar las propiedades de la base de datos Ventas recién creado.
Un nuevo ejemplo de creación de una base de datos en SQL Server:

Use Master
Go

CREATE DATABASE Ventas
ON
PRIMARY (NAME = Ventas1,
    FILENAME ='c:\Backup\Datos\Ventas1.mdf',
   SIZE = 100 MB
   MAXSIZE = 200 MB,
   FILEGROWTH =20),
(NAME = Ventas2,
  FILENAME = 'c:\Backup\Datos\Ventas2.ndf',
  SIZE = 100 MB,
  MAXSIZE = 200,
  FILEGROWTH =20),

 (NAME = Ventas3,
 FILENAME = 'c:\Backup\Datos\Ventas3.ndf',
 SIZE = 100 MB,
 MAXSIZE = 200,
 FILEGROWTH = 20)

LOG ON
 (NAME = Ventas_log1,
  FILENAME = 'c:\Backup\log\Ventas_log1.ldf',
  SIZE = 50 MB,
  MAXSIZE = 100,
  FILEGROWTH=20),

 (NAME = Ventas_log2,
  FILENAME = 'c:\Backup\Log\Ventas_log2.ldf',
  SIZE = 50 MB,
 MAXSIZE = 100,
 FILEGROWTH = 20)

GO

Ahora les invito a ver un vídeo acerca de la creación de una base de datos en Sql Server



Eliminación de una base de datos.-

Para eliminar una base de datos se utiliza el siguiente comando DROP DATABASE nombre_base de datos..

Ejemplo:

DROP DATABASE Ventas

Modificación de una base de datos.

Según se vaya trabajando con SQL Server, se descubrira que con el transcurso del tiempo, tendrá que modificar sus parámetros para mejorar su eficiencia. Sql Server le permite agregaar archivos o registros de transacciones a la base de datos .

Para Modificar una base de datos utilizando SQL Enterprise Manager.

El comando es ALTER DATABASE nombre_base_datos

     ALTER DATABASE nombre_base_datos
    { ADD FILE <filespec>
    | ADD LOG file <filespec>
    | REMOTE FILE nombre_archivo_logico
    | MODIFY FILE <filespce>

   }

   <filespec>:=
    ([NAME = nombre_archivo_logico,]
      FILENAME = 'nombre_archivo_sistema_operativo´
     [' SIZE = tamaño,]
     [' MAXSIZE = {tamaño_max | UNLIMITED} ]
     [, FILEGROWN = incremento])

Vamos con un ejemplo para la modificación de una base de datos:

   ALTER DATABASE Base3
    MODIFY FILE 
    (NAME = 'Base3_log',
     MAXSIZE = 20 MB

GO




Creación de Tablas en SQL Server

Una tabla es una colección de columnas que contiene todos los datos, tenemos los siguientes tipos de datos del sistema:

  • Binario (vynary)
  • Texto o imágen.
  • Carácter (char, varchar)
  • fecha y hora 
  • Entero
  • Moneda
  • Float

Cuando se crea una tabla en SQL Server se tiene que definir todas las columnas y sus limitaciones a la vez.
En Transact-SQL la sentencia CREATE TABLE con la siguiente sintáxis crea una tabla:

CREATE TABLE table_name
({ <column_definition>
   | column_name AS computer_columns_expretion
   | <table_constraint>
 } [,... n]
)
[ON {filegroup | defaults } ]
[TEXTMAGE_ON {filegroup | Default}
<column_definition>:={column_name]
 [NULL | NOT NULL ]
 [IDENTITY [(seed, increment)
                    [NOT FOR REPLICATION])
 [ROWGUIDCOL]
  [<columns_constraint>]:= 
   [CONSTRAINT constraint_name
    { PRIMARY KEY | UNIQUE }
    [CLUSTERED | NOTCLUSTERED ]
    { WITH [FILL FACTOR = fill factor]




Otro vídeo sobre la creación de tablas en una base de datos:



Uso de Sentencias de consultas en SQL Server

Puede utilizarse Transact-SQL para comunicarse directamente con SQL Server. Trnsact SQL Server le permite trabajar con los datos, crear y manipular objetos de las bases de datos, interactuar con procedimientos de almacenamientos que se compilan como declaraciones SQL estáticas. Estas son:
  • La declaración Select que se utiliza para recuperar datos ya existentes.
  • La declaración Update que se utiliza para editar datos ya existentes.
  • La declaración Insert que se utiliza para crear datos ya existentes.
  • La declaración Delect se utiliza para eliminar datos.
La sentencia Select recupera filas y columnas de una tabla y muestra los resultados solicitados. Su sintáxis es la siguiente:

 SELECT
   [ ALL | DISTINCT] [Top n [PERCENT] [WITH TIES]]
   { <result_data>::=
     { *
       | [column_heading=] column_name
       | column_name AS column_heading]
       | column_name AS expression
       | expresion [AS] column_heading]
       | GROUPING (column_name)
       | IDENTITYCOL
       | ROWNGUIDCOL
       | local_or_global_variable
       | new_column_name = IDENTITY(data_type, seed, increment)
 } [,... n]
| <variable_assigment>:= {@local_variable_expressiom} [,...n]
}
[INTO new_table_name]
[FROM
   { <table_or_view>
    | (select_statement) [AS] alias
    | <table_or_view> CROSS JOIN <table_or_view>
    | <table_or_view>
      [ {INNER | {LEFT | RIGHT | FULL }, [OUTER]}
      [ <join_hint>]] JOIN
       <table_or_view> ON search_conditions
  } [, ... n]
]
 [ WHERE search_condition]
  [GROUP BY [ALL] {arcregate_pre_expression} [,... n]
     [WITH {CUBE | ROLLUP}]
 ]
[HAVING search_conditions]
 [ORDER BY
   { {table = | view.} column_name
            | select_list_number
            | expression
            [ASC | DESC]
       [, ... n ]
}
[COMPUTE row_aggregate ({expression | column_name} [,... n])
       BY {expression | column_name } [, ... n]]
]
[FOR BROWSE]
[OPTION (<query_hint> [,.. n ]))]
  | view [[AS] alias]}
  | openRowset ('providet_name', {'datasource';'user_id';'password' |
      'provider_string'}, {[Catalog.][scheme] object_name | 'query';}]
   | openQuery (linked_server,'query')}
  <table_hint>::=
   ([INDEX = {indexname | index_id} [,... n] [FASTFIRSTROW]
     [HOLDLOCK][NOLOCK][PAGLOCK][READCOMMITED]
     [READPAST][READUNCOMITTED][REPEAT TABLEREAD]
     [ROWLOCK][SERIALZAPLE] [TABLOCK][TABLOCKS]
     [UPLOCK])
  <join_hint>::=
    {{LOOP | HASH | MERGE }
   <query_hint>::=
    {{ HASH | ORDER} GROUP
     | {MERGE | HASH | CONCAT}
     | FAST n
     | FORCE ORDER
     | ROBUST PLAN
 }

Por ejemplo para seleccionar todos los empleados de una tabla:

Select * From Employees

Ahora si se quiere calcular los valores de la lista Select creando una serie de expresiones. Los resultados obtendrán columnas que no existen en las tablas subyacentes:

  Select CountK(*) As NumOrders
   From Orders
   Where EmployeedId = 3

Se puede emplear los diferentes tipos de condiciones de búsqueda y expresiones de comparación que se pueden utilizar con la claúsula WHERE

Operaciones de Condición

   Operador                   Significado
      =                                    Igual a
      >                                    Mayor que
      <                                    Menor que
      >=                                  Mayor o igual que
      <=                                 Menor o igual que
      <>                                 Distinto que
      !>                                  No mas grande que
      !<                                  No mas pequeño que


Puede también especificar rango de valores que aparecerá en la lista

Condición de Búsqueda          Ejemplo de la clausula Where

 Between,                                 Where EmployeeId Betwenn 1 And 3        
 Not Between                           Where EmployeedId Not Between 1 And 3

 In,                                             Where City In ('Seattle','Redmond')    
 Not In                                        Where City Not In('Seattle','Redmon')

 LIKE,                                         Where Lastname LIKE 'd%'
          
 Not Like                                      Where Lastname NOT LIKE 'd%'

 is null,                                        Where region Is Null
 Is Not Null                                  Where Region Is Not Null

 AND                                            Where Lastname LIKE 'd%' AND Fistname LIKE  'n%'

Ahora veras unos vídeos sobre consultas en SQL Server:







                                         







  
                                   



Comentarios

Entradas más populares de este blog

Borrar registros de una tabla (Delete - SQL Server)

Las subconsultas usando sentencias Select