jueves, 6 de abril de 2017

SQL

Que es SQL???

Resultado de imagen para sql

SQL (Structured Query Language) es un lenguaje de programación diseñado para almacenar, manipular y recuperar datos almacenados en bases de datos relacionales. La primera encarnación de SQL apareció en 1974, cuando un grupo de IBM desarrolló el primer prototipo de una base de datos relacional. Relational Software (luego se convirtió en Oracle) lanzó la primera base de datos relacional comercial.
Existen estándares para SQL. Sin embargo, el SQL que puede utilizarse en cada uno de las principales RDBMS actuales viene en distintas formas. Esto se debe a dos razones: 1) el estándar SQL es bastante complejo, y no es práctico implementar el estándar completo, y 2) cada proveedor de base de datos necesita una forma de diferenciar su producto de otros. En esta guía de referencia, dichas diferencias se señalarán cuando sea apropiado.
Este sitio de la guía de referencia SQL enumera los comandos SQL normalmente utilizados, y se divide en las siguientes secciones :
  • Comandos SQL: Las instrucciones SQL básicas para almacenamiento, recuperación y manipulación de datos en una base de datos relacional.
  • Manipulación de Tabla: Cómo se utilizan las instrucciones SQL para administrar las tablas dentro de una base de datos.
  • SQL Avanzado: Comandos SQL avanzados.
  • Sintaxis SQL: Una página única que enumera la sintaxis para todos los comandos SQL en esta guía de referencia.
Para cada comando, primero se presentará y explicará la sintaxis SQL, seguida por un ejemplo. Al final de esta guía de referencia, deberá tener una idea general de la sintaxis SQL. Además, deberá poder realizar consultas SQL utilizando la sintaxis apropiada. Según mi experiencia creo que el comprender lo básico de SQL es mucho más fácil que dominar todas las dificultades de este lenguaje de base de datos, y espero que también llegue a la misma conclusión.
Si está interesado en cómo recuperar datos utilizando SQL, le recomendamos que empiece con la sección Comandos SQL. Si está interesado en comprender cómo puede utilizarse SQL para manipular una tabla de base de datos, le recomendamos que comience con la sección Manipulación de Tabla. Si está buscando ayuda sobre un comando SQL específico, puede utilizar elMapa del Sitio para encontrar el comando que está buscando.
Bien, suficiente introducción. Agregue este sitio a favoritos ahora y comience a aprender SQL!
Nota: Si enseña SQL o da una clase relacionada con bases de dato, puede realizar un enlace a este sitio como material de referencia para sus alumnos.



¿Qué es SQL?
SQL significa Structured Query Language
SQL le permite acceder y manipular bases de datos
SQL es un estándar ANSI (American National Standards Institute)
¿Qué puede hacer SQL?
SQL puede ejecutar consultas en una base de datos
SQL puede recuperar datos de una base de datos
SQL puede insertar registros en una base de datos
SQL puede actualizar registros en una base de datos
SQL puede eliminar registros de una base de datos
SQL puede crear nuevas bases de datos
SQL puede crear nuevas tablas en una base de datos
SQL puede crear procedimientos almacenados en una base de datos
SQL puede crear vistas en una base de datos
SQL puede establecer permisos en tablas, procedimientos y vistas
SQL es un estándar - PERO ....
Aunque SQL es un estándar ANSI (American National Standards Institute), existen diferentes versiones del lenguaje SQL.

Sin embargo, para ser compatible con el estándar ANSI, todos ellos soportan al menos los comandos principales (como SELECT, UPDATE, DELETE, INSERT, WHERE) de una manera similar.

Nota: La mayoría de los programas de base de datos SQL también tienen sus propias extensiones propietarias además del estándar SQL.

Uso de SQL en su sitio web
Para crear un sitio web que muestre datos de una base de datos, necesitará:

Un programa de base de datos RDBMS (es decir, MS Access, SQL Server, MySQL)
Para usar un lenguaje de scripting del lado del servidor, como PHP o ASP
Para usar SQL para obtener los datos que desea
Para usar HTML / CSS para diseñar la página
RDBMS
RDBMS significa Sistema de Gestión de Base de Datos Relacional.

RDBMS es la base para SQL y para todos los sistemas de bases de datos modernos como MS SQL Server, IBM DB2, Oracle, MySQL y Microsoft Access.

Los datos en RDBMS se almacenan en objetos de base de datos denominados tablas. Una tabla es una colección de entradas de datos relacionadas y consiste en columnas y filas.

Observe la tabla "Clientes":

Ejemplo

SELECT * FROM Customers;

BASES DE DATOS

Introducción

¿Qué es?

Es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para posterior uso.



Tipos de datos  

  • Texto corto: Datos alfanuméricos (nombres, títulos, etc).
  • Texto largo:  Grandes cantidades de datos.
  • Número: Datos numéricos.
  • Fecha y hora:   Fecha y hora :v
  • Datos adjuntos:   Adjuntar (Imágenes, Videos, Archivos).
  • Hipervínculo: Dirección de vínculo a un documento en internet.
Ventajas de una BD


  • Datos Integrados
  • Menos duplicaciones de datos
  • Compartir datos
Desventajas de una BD

  • Rentabilidad a largo plazo
  • Ausencia de estándares
  • Personal Preparado y capacitado
Tipos de BD

Estáticas:
Sólo lee información y la almacena

Dinámicas:
esta permite:
  • Editar
  • Borrar 
  • Actualizar
Concurrencia en una B.D:

El término concurrencia se refiere al hecho de que los DBMS (SISTEMAS DE ADMINISTRACION DE BD) permiten que muchas transacciones puedan accesar a una misma base de datos a la vez.

(Un ejemplo es lo que el profesor explico de esa vuelta del banco que se meten a la misma vez :v)

Redundancia de datos:
REDUNDANCIA E INCONSISTENCIA DE DATOS REDUNDANCIA DE DATOSEsta se presenta cuando se repiten innecesariamente datos en los archivos que conforman la base de datos. Decimos que hay redundancia de datos cuando la misma información es almacenada varias veces en el mismo sistema de archivo o ficheros



Entidades en B.D.
Una entidad es un conjunto de datos :v


Relaciones
Una base de datos se compone de varias tablas o relaciones. No pueden existir dos tablas con el mismo nombre ni registro. Cada tabla es a su vez un conjunto de campos (columnas) y registros (filas).


Claves Primarias
En el diseño de bases de datos, se llama clave primaria a un campo o a una combinación de campos que identifica de forma única a cada fila de una tabla. Una clave primaria comprende de esta manera una columna o conjunto de columnas. No puede haber dos filas en una tabla que tengan la misma clave primaria.


Claves foráneas
es una limitación referencial entre dos tablas. La clave foránea identifica una columna o grupo de columnas en una tabla (tabla hija o referendo) que se refiere a una columna o grupo de columnas en otra tabla (tabla maestra o referenciada). Las columnas en la tabla referendo deben ser la clave primaria u otra clave candidata en la tabla referenciada.


Restricciones de integridad referencial.

La misma significa que la clave externa de una tabla de referencia siempre debe aludir a una fila válida de la tabla a la que se haga referencia. La integridad referencial garantiza que la relación entre dos tablas permanezca sincronizada durante las operaciones de actualización y eliminación.


B.D Relacionales (y diagrama relacional)

Su idea fundamental es el uso de RELACIONES consideradas de forma lógica como como conjuntos de datos llamados “tuplas”, en pocas palabras, gráficamente esto es pensado en cada relacion como si fuese una tabla que esta compuesta por registros (las filas de una tabla), que representarian las “tuplas”, y los campos (que son las columnas de una tabla).

Además…
Este modelo a diferencia de otros modelos como el jerárquico y el de red) el lugar y la forma en que se almacenen los datos no tienen relevancia, esto tiene la ventaja de que es más facil de entender para un usuario esporádico de la base de datos, la información puede ser recuperada o almacenada mediante “consultas” que ofrecen flexibilidad para poder manejar la informacion.
(relevante, que se puede reemplazar)
(esporádico, de momento, momentáneo)

Relaciones entre tablas
Como requisito indispensable para establecer unarelación entre dos tablas es necesario que ambastablas tengan un campo en común. Observa la figura 2.35. Muy importante, los campos que se utilicen para establecer la relación entre las dos tablas deben ser del mismo tipo (INTEGER, TEXTO, SMALL INTEGER, etcétera).

pueden ser:
  • Uno a muchos
  • Muchos a muchos
  • Uno a uno




Dinámicas: