viernes, 24 de noviembre de 2017

Clausulas en SQL

Clausula Where:
La cláusula WHERE se utiliza para seleccionar aquellos registros que cumplen una o más condiciones. Su sintaxis es:
WHERE <search_condition>
Selecciona aquellas filas que cumplen la condición especificada por esta orden. La condición de búsqueda o de selección de registros se puede conformar utilizando columnas de la tabla, constantes, funciones y/o expresiones y operadores.
Clausula And:
El operador AND se utiliza para filtrar resultados que cumplan con las 2 condiciones, una condición antes del AND y una después.

Lenguaje de manipulación de datos DML (SELECT, INSERT, UPDATE, DELETE)
WHERE nombre_columna =  valor 
AND nombre_columna = valor2
Clausula Or:
El operador OR se utiliza para filtrar resultados que cumplan con alguna de las dos condiciones, una condición antes del OR y una después.

Lenguaje de manipulación de datos DML (SELECT, INSERT, UPDATE, DELETE)
WHERE nombre_columna =  valor 
OR nombre_columna = valor2

Clausula between:
Para indicar que deseamos recuperar los registros según el intervalo de valores de un campo emplearemos el operador BETWEEN cuya sintaxis es:
Columna o Expresión [Not] Between valor1 And valor2
en este caso la consulta devolvería los registros que contengan en columna o expresión un valor incluido en el intervalo valor1, valor2 (ambos inclusive). Si anteponemos el operador NOT devolverá aquellos valores no incluidos en el intervalo.
Clausula max, min:
Devuelven el mínimo o el máximo de un conjunto de valores contenidos en un campo especifico de una consulta. Su sintaxis es: Max(expr) Min(expr) donde expr es el campo o expresión sobre el que se desea realizar el cálculo.
Clausula avg:
Calcula la media aritmética de un conjunto de valores contenidos en un campo especificado de una consulta. Su sintaxis es Avg(expr) donde expr representa el campo que contiene los datos numéricos para los que se desea calcular la media o una expresión que realiza un cálculo utilizando los datos de dicho campo. La media calculada por Avg es la media aritmética (la suma de los valores dividido por el número de valores). La función Avg no incluye ningún campo Null en el cálculo.

Clausula top:
La sentencia SQL TOP se utiliza para especificar el numero de filas que mostrara un resultado.

Esta clausula SQL TOP es muy útil en tablas con muchísimos registros para limitar el numero de filas a mostrar en la consulta, y por ende va a traer los resultados muchos mas rápidos haciendo la consulta mas rápida, obviamente consumiendo menos recursos.

Tenemos que remarcar que la clausula TOP se escribe de diferentes maneras segun el sistema de base de datos que utilicemos.
Clausula sum:
Devuelve la suma del conjunto de valores contenido en un campo especifico de una consulta. Su sintaxis es Sum(expr) donde expr respresenta el nombre del campo que contiene los datos que desean sumarse o una expresión que realiza un cálculo utilizando los datos de dichos campos.
Clausula distinc:
La palabra clave DISTINCT se utiliza en conjunto de una sentencia SELECT para eliminar todas las filas duplicadas.
Se utiliza la palabra DISTINCT delante de la columna que se desea obtener resultados unicos.
SELECT DISTINCT columna1 FROM nombre_tabla

Clausula order by:
Como característica adicional, se pueden incluir números en la ordenación, que serán sustituidos por la columna correspondiente del SELECT en el orden que indique el número. La ordenación es el último paso en la ejecución de una consulta SQL, y para ello Oracle suele necesitar crear objetos temporales que son creados en el tablespace Temporal. Por eso es recomendable hacer las ordenaciones del lado de cliente (siempre que sea posible), ya que el servidor puede cargarse bastante si tiene que hacer, por ejemplo, 300 ordenaciones de tablas de 2 millones de registros.
Clausula group by:
donde <group> es la columna o columnas por la cuales se desea agrupar. No se puede utilizar un alias de dicha columna. Se puede agrupar mediante una expresión formada por varias columnas. Es importante recordar que las columnas que aparecen en el group by deberían también de aparecer tras la palabra SELECT (excepto casos especiales). Ejemplo de GROUP BY, se desea obtener el número de portes de cada camión, y si un camión no ha tenido portes que dicho valor aparezca a nulo:
SELECT camion.cCmnMtr, camion.cCmnMrc, camion.cCmnMdl, COUNT(*)
FROM camion, porte
WHERE camion.cCmnMtr = porte.cCmnMtr
GROUP BY camion.cCmnMtr, camion.cCmnMrc, camion.cCmnMdl;
Ejemplo donde agrupamos por una expresión carácter formada por tres columnas o campos:
SELECT camion.cCmnMtr +camion.cCmnMrc + camion.cCmnMdl, COUNT(*)
FROM camion, porte
WHERE camion.cCmnMtr = porte.cCmnMtr
GROUP BY camion.cCmnMtr + camion.cCmnMrc + camion.cCmnMdl;



Diagrama Relacional

Procedimientos almacenados








viernes, 6 de octubre de 2017

EJERCICIO CONGRESO

El ITSOEH esta por desarrollar su 3er congreso oficial de TIC´s, es necesario contar con ciertos elementos que permitan crear su sitio oficial de dicho congreso. Desarrollar una base de datos adecuada para congreso que se llevara acabo en el itsoeh.
Requermientos:
-ITSOEH esta interesado como primera etapa en la recepción de trabajos de investigación que llamaremos "Potencias", estas deberan estar clasificadas por tema o por categoria, asimismo cada ponencia podra estar representada por N participantes(Entendamos que un participante pude ser profesor de la institución, profesor externo a la institución, Investigador, Alumno externo o alumno de ITSOEH).
Para que el sitio pueda funcionar es necesario que los candidatos a ponenetes esten registrados con una cuenta de acceso al sistema; dentro de la plataforma se podran asignar laboratorios, horarios, fechas para la presentación de cada potencia. Evitando de esta manera que una ponencia se imparta al mismo tiempo en diferentes lugares o que dos ponencias puedan darse a la misma hora en el mismo lugar. Finalmente cada ponencia representada por su instructor correspondiente se le asignara un grupo de la carrera.

-Diagrama Entidad-Relación:


-Diagrama Relacional:






miércoles, 4 de octubre de 2017

Tupla: Conjunto de elementos de distinto tipo que se guardan de forma consecutiva en memoria.

Atributos: Es una especificación que define una propiedad de un objeto, elemento o archivo. También puede referirse o establecer el valor específico para una instancia determinada de los mismos.

Llaves Primarias(Primary Key): La clave o llave primaria es un campo, o grupo de campos que identifica en forma única un registro. Ningún otro registro puede tener la misma llave primaria, es decir, es un registro único e irrepetible. La llave primaria se utiliza para distinguir un registro con el fin de que se pueda  tener acceso a ellos, organizarlos y manipularlos.

Llaves Foráneas(Foreing Key): 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 padre o referenciada). Las columnas en la tabla referendo deben ser la clave primaria u otra clave candidata en la tabla referenciada. 

Normalización: Es un proceso que consiste en designar y 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.

Integridad Referencial: Es una propiedad de la base de datos. 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.

martes, 12 de septiembre de 2017

Desarrollar el siguiente diagrama entidad-relacion:
en una coorporación policiaca los policias asignados a dicha coorporación se encuentran cubriendo cualquier turno que se le es asignado, ademas de que se les asigna los siguiente elementos de trabajo:
-Uniforme
-Numero de placa(id)
-Botas(Solo le corresponden a ese policia)
-Arma(Solo puede ser usada por dicho policia), tiene un numero unico de identificación.
Es preciso mencionar que los policias de dicha coorporación son asignados a cubrir una ruta, colonia, o municipio diferente por dia.
  Para cada policía se le asigna una pareja y a esta pareja se le asigna la ruta como tal.



miércoles, 30 de agosto de 2017

lunes, 21 de agosto de 2017

Diferencias entre BD SQL y NoSQL

SQL es un lenguaje de programación estándar e interactivo para la obtención de información desde una base de datos y para actualizar la misma.
Las bases de datos NoSQL son un enfoque hacia la gestión de datos y el diseño de base de datos que es útil para grandes conjuntos de datos distribuidos.

DIFERENCIAS
La gran diferencia entre SQL y NoSQL es que se utilizan en escenarios completamente diferentes, es decir, para lo que sirve SQL no sirve NoSQL y para lo que sirve NoSQL no sirve SQL.
  • SQL nos permite combinar de forma eficiente diferentes tablas para extraer información relacionada, mientras que NoSQL no lo permite.
  • NoSQL nos permite distribuir grandes cantidades de información; mientras que SQL facilita distribuir bases de datos relacionales.
  • SQLnos permite gestionar los datos junto con las relaciones existentes entre ellos; en NoSQL no existe este tipo de utilidades.
  • NoSQL nos permite un escalado horizontal sin problemas mientras que escalar SQL resulta más complicado.

MongoDB ¿Qué es?

MongoDB es el sistema de Base de Datos NoSQL líder orientado a documentos, desarrollado bajo código abierto.
Es ágil y permite a los esquemas cambiar rápidamente cuando las aplicaciones evolucionan, proporcionando siempre la funcionalidad que los desarrolladores esperan de las bases de datos tradicionales.
MongoDB esta escrito en el lenguaje C++, aunque existen diversos drivers para utilizar nuestro lenguaje favorito.

sábado, 19 de agosto de 2017

Mapa Mental sobre Base de Datos


Bases de Datos

1.1Conceptos básicos
BASE DE DATOS: Es un conjunto de datos que están organizados para un uso determinado y el conjunto de los programas que permiten gestionar estos datos es lo que se denomina Sistema Gestor de Bases de Datos.
SISTEMA GESTOR DE BASE DE DATOS: Los sistemas gestores de bases de datos es un conjunto de programas que almacenan, organizan, gestionar y operar todos los diferentes elementos de la base de datos.
TABLA DE DATOS: Es un objeto que se define y utiliza para almacenar datos. Una tabla contiene información sobre un tema o asunto particular, como pueden ser como hemos visto antes, clientes o pedidos.
CAMPO: Es una pieza única de información.
REGISTRO: Es un sistema completo de campos.
ARCHIVO: Colección de registros.
1.2Objetivos de las Bases de Datos
Las bases de datos pretenden servir al conjunto de la organización, manejando los datos como otro recurso. Por lo tanto, las bases de datos han de atender a múltiples usuarios y a diferentes aplicaciones. En contraposición a los sistemas de ficheros, en donde cada fichero atiende a determinada aplicación.
Dificultad para tener acceso a los datos: Un sistema de base de datos debe contemplar un entorno de datos que le facilite al usuario el manejo de los mismos. Supóngase un banco, y que uno de los gerentes necesita averiguar los nombres de todos los clientes que viven dentro del código postal 78733 de la ciudad. El gerente pide al departamento de procesamiento de datos que genere la lista correspondiente. Puesto que esta situación no fue prevista en el diseño del sistema, no existe ninguna aplicación de consulta que permita este tipo de solicitud, esto ocasiona una deficiencia del sistema.
1.3Áreas de Aplicación de los Sistemas de Bases de datos
Los sistemas de base de datos son utilizados en muchas áreas pero en las que más se usan son en la administración de escuelas o empresas, ya que es muy importante que estas guarden su información y/ datos de manera ordenada.
Ejemplo:
En las escuelas (ej. ITSOEH) se debe tener registrados a sus cientos de alumnos, cada uno con su información correspondiente, para ello es de gran utilidad un sistema de base de datos.
1.4 Modelos de bases de datos
Descripción del almacenador de datos, así como de los métodos de almacenamiento y recuperación de datos.
Son cosas abstractas que permiten implementar un sistema eficiente de base de datos como por ejemplo algoritmos y conceptos matemáticos.
Algunos de ellos son:
Ø Bases de datos jerárquicas
Ø Bases de datos de red
Ø Bases de datos transaccionales
Ø Bases de datos relacionales
Ø Bases de datos multidimensionales
Ø Bases de datos orientadas a objetos
Ø Bases de datos documentales
Ø Bases de datos deductivas

1.4Clasificación de Bases de Datos
Estas se clasifican según su contenido, su contexto, su variabilidad, su utilidad, u objetivos.
Según su variabilidad:
Ø Estáticas
Ø Dinámicas
Según su contenido:
Ø Bibliográficas
Ø De texto completo
Ø Directorios
Ø Bibliotecas
1.5Arquitectura de base de datos
La arquitectura de base de datos consta de 3 niveles: Externo, Conceptual, Interno.
En el nivel Externo corresponden las diferentes vistas parciales que los usuarios tienen de la base de datos. Es el nivel de mayor abstracción.
El nivel Conceptual se trata de la representación de los datos de manera organizada por los diferentes usuarios y aplicaciones. Incluye la definición de datos y las relaciones entre ellas. Es el nivel medio de abstracción.
El nivel Interno se define como se almacenan los datos en el soporte físico, así como los métodos de acceso. Es el nivel as bajo de abstracción.
1.6Arquitectura del SGBD
Esta arquitectura especifica sus componentes e interfaces. Sus conceptos son diferentes a los de la arquitectura de base de datos.
Nivel interno o físico: describe la estructura física de la base de datos mediante un esquema interno. Este esquema se especifica con un modelo físico y describe los detalles de cómo se almacenan físicamente los datos: los archivos que contienen la información, su organización, los métodos de acceso a los registros, los tipos de registros, la longitud, los campos que los componen, etc.
Nivel externo o de visión: es el más cercano al usuario, se describen varios esquemas externos o vistas de estos. Cada esquema externo describe la parte de la base de datos que interesa a un grupo de usuario determinado y oculto a ese grupo el resto de la base de datos. En este nivel se puede utilizar un modelo conceptual o un modelo lógico para especificar los esquemas.
Nivel conceptual: describe la estructura de toda la base de datos para un grupo determinado de usuarios mediante un esquema conceptual. Este esquema describe las entidades, atributos, relaciones, operaciones de los usuarios y restricciones, ocultando los detalles de las estructuras físicas de almacenamiento.


Clausulas en SQL

Clausula Where: La cláusula WHERE se utiliza para seleccionar aquellos registros que cumplen una o más condiciones. Su sintaxis es: WHE...