SQL son las iniciales de Structured Query language , este lenguaje es un poco antiguo desde el punto de vista de las tecnologías de la información, mucha gente lo confunde con productos de Microsoft , esto es dedibo a que el servidor de bases de datos que ha sacado al mercado Microsoft desde hace ya varios años se denomina Microsoft SQL server, pero SQL no es un invento de Microsoft pero SQL structured Query Language es un lenguaje que hace muchos años existe, es un lenguaje que sirve para acceder a bases de datos relacionales por lo tanto no es exclusivo de una sola base de datos. Este lenguaje se debe denominar lenguaje de acceso a datos relacionales, esto sirve para distinguirlo de los lenguajes de programación orientada a objetos o otros tipos de lenguajes. Esto quiere decir que no es un lenguaje de programación. Ciertos servidores de bases de datos como por ejemplo Microsoft SQL server, Oracle disponen de un lenguaje de programacion extendido es decir un lenguaje SQL al cual le han añadido todo aquello que hace que puede ser un lenguaje de programacion. Existe una norma iso que define una sintaxis estándar para SQL, luego es trabajo de las bases de datos de los productores de bases de datos adaptarse a esta sintaxis estándar. ¿Cuándo es necesario utilizar el lenguaje SQL? Hay casos muy evidentes por ejemplo Aquellas persona que actúen como administradores de bases de datos relacionales evidentemente se necesitara conocer a fondo el lenguaje SQL para transmitir instrucciones a dicha base de datos.
Bases de datos relacionales no son la gran mayoría de bases de datos que se utilizan hoy en día en la industria por decir alguna seria la base de datos Oracle,la base de datos de Microsoft, el servidor SQL server, el servidor de bases de datos como my sql, bases de datos más sencillas como acces o otras bases de datos como informe sivece. Este lenguaje es muy sencillo, a continuación se mencionaran algunas instrucciones estándar de SQL, para conocerlas mejor, se clasifican en categorías: DML: (Data Manipulation Language) sirven para modificar los datos que hay en una base de datos. En estas instrucciones tenemos las opciones: Insert: para agregar filas en una base de datos. Update: para modificar el contenido de la filas. Delete: para eliminar filas Select (DRL) : esta instrucción se considera en el ámbito estándar, una instrucción DML lo que ocurre es que en muchas bibliografías se encontrara que esta instrucción se considera una instrucción DRL es decir data, retaibla, language. Esta instrucción es muy distinta a las anteriores, no solo en la sintaxis si no en lo que hace, ya que se utiliza para solicitar información a una base de datos, en cambio las otras tres son las que se utilizan para modificar el contenido de las bases de datos. Otra categoría de instrucciones son las DDL(Data Definition Language): sirven para modificar, crear y eliminar objetos de datos, es decir, no la información si no los objetos de la base de datos. Por objetos principalmente entendemos las tablas, los índices, las vistas, las consultas, etc. Nota: las instrucciones varian mucho, dependiendo de las bases de datos. Las instrucciones que más se usan son las DML es decir, las que permiten interactuar con la información. En otra categoría esta la DCL (Data Control Language): estas instrucciones sirven para gestionar los permisos de acceso en una base de datos, tenemos la instrucción grant, revoke, Deny. Elementos Básicos De La Sintaxis SQL es decir que elementos nos podemos encontrar dentro de una instrucción SQL.
Por un lado palabras claves como: select, from, where, son instrucciones propias de la sintaxis de SQL. Estas palabras son claves, por lo tanto no deben de utilizarse a la hora de darle nombre a un campo o a una tabla, son palabras reservadas. Dentro de las instrucciones también nos encontramos con la necesidad de hacer referencia a nombres de objetos, nombres de columnas, de campos de tablas, nombres propios de las tablas. Etc. Además dentro de las instrucciones SQL también nos encontraremos con operadores. Los operadores sirven para definir comparaciones, para hacer cálculos y en este caso tenemos 3 operadores, 2 operadores de tipo igual, y el operador and. También nos podemos encontrar con valores absolutos, los valores absolutos son lo que nosotros aportamos directamente en la instrucción, sin que correspondan a ningún nombre de columna, ninguna palabra clave, o ningún operador, es decir, es datos, información concreta que nosotros aportamos. Existen distintos tipos de valores absolutos entre ellos está el numéricos que se introducen como números, valores alfanuméricos, es decir, cadenas de caracteres que deben introducirse atravez de comillas. Otros valores absolutos pueden ser: fechas, el valor tru, else, etc.
BASES DE DATOS RELACIONALES. Estructura de almacenamiento fisica. La Tabla : es el elemento esencial en el cual se almacena la información, la información se distribuye en distintas tablas. Las tablas se componen de columnas, y de filas. Cuando se define la tabla es cuando se debe especificar el nombre y el tipo de dato que admite cada campo, y cuando se trabaja con la tabla es cuando se empiezan a introducir las filas, es decir, por un lado las columnas se deciden en el momento de diseñar la tabla y muy importante se decide que tipo de dato admite cada columna y las filas es aquello que se va introduciendo en la tabla cuando ya se está trabajando con ella. A la hora de diseñar tablas, hay que tener presente una cosa, la distribución de datos no debe hacerse nunca en base a criterios de la vida real. RESTRICCIONES
Restricción Not Null: La anulabilidad de una columna determina si las filas en la tabla pueden contener valores nulos para esa columna. Un valor nulo no es lo mismo que un cero, un blanco o una cadena de caracteres de longitud cero. Un valor nulo significa que no se ha ingresado ningún valor para esa columna o que el valor es desconocido o indefinido. La anulabilidad de una columna se define cuando se crea o se modifica una tabla. Si se usan columnas que permiten o no valores nulos, se debería usar siempre las cláusula NULL y NOT NULL dada la complejidad que tiene el SQL Server para manejar los valores nulos y no prestarse a confusión. La cláusula NULL se usa si se permiten valores nulos en la columna y la cláusula NOT NULL si no. Restricion unique: se pueden usar las restricciones UNIQUE para asegurar que no sean entrados valores duplicados en columnas específicas que no participan de la clave primaria. Aunque tanto la restricción PRIMARY KEY como la restricción UNIQUE aseguran unicidad, se debería usar UNIQUE en vez de PRIMARY KEY en los siguientes casos: · Si una columna ( o combinación de columnas) no son la clave primaria. Se pueden definir muchas restricciones UNIQUE para una tabla, mientras que solo una restricción PRIMARY KEY. · Si la columna permite valores nulos. Las restricciones UNIQUE permiten que se las defina para aceptar valores nulos, mientras que las restricciones PRIMARY KEY no lo permiten. Restricción de Clave Primaria (Primary Key ): Una tabla usualmente tiene una columna (o una combinación de columnas) que identifica unívocamente cada fila de la tabla. Esta columna (o columnas) son llamadas “clave primaria” de la tabla y aseguran la integridad de la entidad de la tabla. Se puede crear una clave primaria usando la restricción PRIMARY KEY cuando se crea o modifica la tabla. Una tabla puede tener solo una restricción PRIMARY KEY, y ninguna columna que participa de la clave primaria puede aceptar nulos. Cuando se especifica una restricción PRIMARY KEY para una tabla, SQL Server 2000 asegura la unicidad de los datos creando un índice principal para las columnas de la clave primaria. Este índice permite, además, un acceso rápido a las filas cuando la clave primaria se usa para formular consultas. Si se define la restricción PRIMARY KEY para más de una columna, los valores se pueden duplicar para una columna, pero cada combinación de valores para todas las columnas de la clave principal de una fila debe ser única para toda la tabla. La figura muestra como las columnas Autor_ID y Titulo_ID de la tabla Titulo Autor
forman una restricción PRIMARY KEY, la que asegura que las combinaciones Autor_ID Titulo_ID son únicas. Restricción Check: Las restricciones CHECK aseguran la integridad de dominio al limitar los valores que son aceptados para una columna. Son similares a las restricciones FOREIGN KEY en que ambas controlan los valores que son puestos en una columna. La diferencia está en cómo se determina cuáles son valores válidos. Las restricciones FOREIGN KEY toman los valores válidos de otra tabla, mientras que las restricciones CHECK determinan los valores válidos evaluando una expresión lógica que no se basa en datos de otra columna. Por ejemplo, es posible limitar el rango de valores para una columna Salario creando una restricción CHECK que permita solamente datos dentro del rango de $15.000 a $100.000. Este capacidad evita el ingreso de salarios fuera del rango normal de salarios de la compañía. Restricción Foreing key: Se pueden deshabilitar restricciones FOREIGN KEY preexistentes cuando se realicen alguna de las siguientes acciones: · Al ejecutar los comandos INSERT y UPDATE: Deshabilite una restricción FOREIGN KEY durante un comando INSERT o UPDATE si el dato nuevo violará la restricción o si la restricción se debe aplicar solo a datos ya existentes en la tabla. Deshabilitar restricciones permite que los datos sean modificados sin que sean validados por las restricciones. · Al implementar procesos de replicación: Deshabilite una restricción FOREIGN KEY durante el proceso de replicación si la restricción es específica de la base de datos fuente. Cuando se replica una tabla, los datos y la definición de la tabla son copiados desde una base de datos fuente a una base de datos destino. Estas bases de datos están generalmente (pero no necesariamente) sobre servidores separados. Si las restricciones FOREIGN KEY específicas de la base de datos fuente no están deshabilitadas, estas podrían innecesariamente prevenir que nuevos datos sean ingresados en la base de datos destino. NORMALIZACION DE DATOS: consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional. Las bases de datos relacionales se normalizan para:
Evitar la redundancia de los datos.
Evitar problemas de actualización de los datos en las tablas.
Proteger la integridad de los datos.
CONSULTAS: Las consultas son preguntas que un usuario hace a la base de datos. Con ellas puede obtener información de varias tablas y con la estructura que más le interese. Además, las consultas pueden archivarse de forma que la próxima vez que se quiera hacer la misma pregunta no tendrá que volver a plantearla, será suficiente con llamar a la consulta previamente creada. La importancia de las consultas es enorme, de hecho es la potencia de esta herramienta la que permite que los gestores de base de datos sean casi imprescindibles en nuestro trabajo diario. FILTRAR DATOS: Los filtros nos ayudan a controlar los datos que se ven y se procesan en los informes. Se puede especificar filtros para un conjunto de datos, una región de datos o un grupo, o para cualquier combinación de estos elementos. Siempre que sea posible, se filtran los datos en el origen de datos antes de recuperarlos para un informe; para ello, modifique la consulta e incluya en ella parámetros de consulta para restringir los datos que deberán recuperarse. Para obtener más información, vea Filtrar datos de informe en el origen. Cuando no se pueda filtrar los datos en el origen, especifique filtros para los elementos de informe. Por ejemplo, use filtros de informe cuando el origen de datos no admita parámetros de consulta, cuando tenga que ejecutar procedimientos almacenados y no pueda modificar la consulta, o cuando una instantánea de informe con parámetros muestre datos personalizados para usuarios diferentes.