Está en la página 1de 4

DEFINICION DE SQL

El Lenguaje de Consulta Estructurado popularmente conocido por sus siglas en


inglés como SQL, es un tipo de lenguaje de programación que ayuda a solucionar
problemas específicos o relacionados con la definición, manipulación e
integridad de la información representada por los datos que se almacenan en las
bases de datos. Algunos aspectos de SQL están basados en el cálculo
relacional, algunos en el álgebra relacional que provienen del modelo relacional
y otros a ninguno de los dos, sino que son parte de SQL.
Dada su fuerte conexión con la teoría del modelo relacional, SQL es un lenguaje
de alto nivel orientado a conjuntos de registros. Esto implica que un solo
comando SQL puede equivaler a decenas o cientos de líneas de código que se
tendrían que utilizar en un lenguaje de más bajo nivel orientado a registros.
Como resultado de lo anterior, SQL permite lograr con mayor rapidez y facilidad
la definición y manipulación de los objetos de base de datos, permitiendo así
alcanzar una mayor eficiencia y productividad en el desarrollo

CARACTERÍSTICAS DE SQL

Debido a que SQL ofrece una implementación para los sistemas de bases de
datos relacionales es de esperar que posea características parecidas a las
mencionadas para el modelo relacional.
Para el almacenamiento y operaciones de manipulación de los datos, el modelo
relacional establece el uso de relación y variable de relación; mientras tanto SQL
hace uso de las tablas como elemento fundamental.
Las tablas son el elemento más importante dentro de una base de datos ya que
se utilizan para guardar los datos persistente o permanentemente. Una tabla se
asemeja a una hoja de cálculo.
Al igual que éstas, las tablas se componen de filas y columnas. Cada una de las
columnas se denominan campos de la tabla y a cada una de las filas se les
conoce como registros.
Cada campo puede contener tipos de datos como: texto, números, gráficos, etc.
El conjunto de valores que conforman un tipo de datos se conoce como dominio.
Ejemplo: «el dominio de todos los números enteros positivos».
Cada registro contiene datos del mismo tipo que los demás registros. Ejemplo:
en una tabla de nombres y direcciones, cada fila tendrá un nombre y una
dirección.
Se trata de un lenguaje de definición de datos que contienen comando que
permite establecer, modificar o borrar esquemas de relación.
Es un lenguaje interactivo que permite realizar consultas gracias al álgebra y el
cálculo relacional.
Permite establecer restricciones de integridad a la información que se almacena
en una base de datos.
Facilita la creación de bases de datos mediante tablas, las cuáles a su vez están
formadas por registros (filas) y campos (columnas).
El lenguaje SQL es compatible con otros lenguajes de programación como Java,
C++ o PHP.
Se pueden incluir, a través de comandos, los derechos de acceso a relaciones y
vistas de las bases de datos.

ARQUITECTURA DE SQL.

La arquitectura interna de las bases de datos en SQL Server está compuesta por
2 tipos de estructura, la estructura lógica y la estructura física. Es muy importante
conocer cómo es que estas estructuras están compuestas y cuál es la relación
que tienen los objetos de base de datos con cada una de estas estructuras.

ESTRUCTURA LÓGICA:

Desde el punto de vista lógico, la base de datos debe tener al menos 1 FileGroup
el cual contiene a toda la meta data de la misma base de datos, es decir tablas
y vistas de sistema, a este FileGroup inicial se le conoce como Primario y está
presente en todas las bases de datos. Todos los objetos de usuario que
contengan data, ya sean tablas o índices, deben estar ligados a un FileGroup,
esto se puede definir al momento de ejecutar la sentencia DDL de creación del
objeto, si no se indica a que FileGroup estará ligado ese objeto, este pertenecerá
al FileGroup por defecto definido en la base de datos. La base de datos solo
puede tener definido 1 solo default FileGroup.
Las bases de datos pueden tener hasta 32767 FileGroup definidos, según los
límites establecidos para la última versión de SQL Server, la cual es SQL Server
2008 R2. Uno de los propósitos de los FileGroup es poder distribuir la data a
través de varios discos duros físicos, de esta manera se puede obtener mayor
rendimiento en las operaciones de I/O debido a que más de un disco trabajara al
mismo tiempo. Otro de los propósitos es poder esconder la ubicación física real
de la información a los programadores, ya que para ellos la tabla «X» pertenece
al «FileGroup» «A», pero no saben en que data files físicamente se encuentra la
información de la tabla «X».
Los «FileGroup» pueden contener 1 o más «Data files», y cada uno de estos
data files se pude encontrar en unos discos diferentes, lo cual también agilizará
las consultas y los ingresos de información a las tablas que se encuentren
asignadas a este «FileGroup», debido a que SQL Server distribuirá la
información uniformemente a través de todos los «Data Files» del «FileGroup».
ESTRUCTURA FÍSICA:

Desde el punto de vista físico, como ya hemos visto, tenemos los «Data Files»
que los en realidad los archivos de datos, es decir donde se guarda toda la
información de la base de datos. Un «Data File» solo puede pertenecer a 1
«FileGroup».

Internamente los «Data Files» están divididos en «Extends» y estos a su vez en


«Pages». Las «Pages» son la unidad mínima de almacenamiento dentro de la
base de datos. Un «Page» tiene 8 Kb de tamaño en espacio de disco. Un
«Extend» tiene 8 «Pages» contiguas que lo conforman, es decir, un «Extend»
tiene como tamaño 64 Kb de espacio en disco.

En un «Page» solo puede haber información de 1 sola tabla, es decir el espacio


de un «Page» no es compartido entre tablas o índices. En el caso de los
«Extends», estos pueden ser de dos tipos:

«Mixed»: Los cuales son compartidos hasta por 8 objetos, uno por cada «Page».

«Uniform»: Los cuales solo pertenecen a un solo objeto, es decir que todos los
«Pages» pertenecen a un solo objeto.
Normalmente cuando se crea una nueva tabla esta es asignada a un «Extend»
de tipo «Mixed», hasta alcanzar la utilización de hasta 8 «Pages», a partir de ese
momento se asignan «Extends» de tipo «Uniform» para optimizar el uso del
espacio en la tabla.

Los «Data Files» normalmente tienen 2 extensiones de archivo, las cuales son
estándar mas no obligarías, la extensión «mdf» que se utiliza para el primer
«Data file» perteneciente al «FileGroup» primario, y la extensión «ndf» que se
utiliza para los demás data files que se agregan posteriormente a los demás
«FileGroup» de la base de datos.
En el caso del «Log File», este no pertenece a un «FileGroup» en específico, en
cambio archivo está ligado directamente a la base de datos. Las bases de datos
de SQL Server solo pueden tener un solo «Log File» activo al mismo tiempo, si
bien se pueden crear múltiples «Log Files» en la base de datos, solo uno podrá
ser escrito, ya que solo uno puede estar activo, cuando este archivo se llene, la
base de datos pasara a escribir al siguiente archivo de transacciones, y así
sucesivamente. Por esta razón no es muy conveniente ni útil tener más de un
«Log File».

También podría gustarte