SlideShare una empresa de Scribd logo
1 de 47
BASES DE DATOS
7/26/2016AGCT
 Se le llama base de datos a los bancos de información que contienen datos
relativos a diversas temáticas y categorizados de distinta manera, pero que
comparten entre sí algún tipo de vínculo o relación que busca ordenarlos y
clasificarlos en conjunto.
7/26/2016AGCT
Los cambios recientes en los planes de estudio de la UPC y la UOC tienen en cuenta el nuevo
espacio europeo de educación superior (EEES). Una de las consecuencias directas de estos
cambios es la necesidad de acotar y optimizar el tiempo a dedicar a las actividades de aprendizaje
que requieren la participación activa del estudiante y que se realizan de forma continuada durante
el semestre. En el ámbito de la docencia informática de asignaturas de bases de datos el problema
es especialmente complejo debido a que los enunciados de las pruebas no acostumbran a tener
una solución única. Nosotros hemos desarrollado una herramienta, llamada LEARN-SQL, cuyo
objetivo es corregir automáticamente cualquier tipo de sentencia SQL (consultas, actualizaciones,
procedimientos almacenados, disparadores etc.) y discernir si la respuesta aportada por el
estudiante es o no correcta con independencia de la solución concreta que este proponga.
Además esta herramienta ayuda a los profesores a diseñar las pruebas devaluación, permitiendo
también la opción de revisar cualitativamente las soluciones aportadas por los estudiantes. Por
último, el sistema proporciona ayuda a los estudiantes para que aprendan de sus propios errores,
proporcionando feedback de calidad.
7/26/2016AGCT
Sublenguajes
Las sentencias SQL se clasifican según su finalidad dando origen a tres
Sublenguajes:
 Lenguaje de definicion de datos (Data Definition language)DDL.
es el que se encarga de la definición de la base de datos y la
modificación de la estructura de los objetos que estén en ella.
Algunos comandos propios de este sublenguaje son CREATE, ALTER,
DROP y TRUNCATE
CREATE Utilizado para crear nuevas tablas, campos e índices
DROP Empleado para eliminar tablas e índices
ALTER
Utilizado para modificar las tablas agregando campos o
cambiando la definición de los campos.
7/26/2016AGCT
 Lenguaje de control de datos (Data Control Language) DCL.
encargado de la seguridad de la base de datos, en todo lo referente al
control de accesos y privilegios entre los usuarios.
Como ejemplo estan : GRANT, REVOKE.
 Lenguaje de Manipulacion de Datos (Data Manipulation Language) DML.
A través de él podemos seleccionar, insertar, eliminar y actualizar
datos. Es la parte que más frecuentemente utilizaremos, y que con
ella se construyen las consultas.
Algunos comandos propios de este sublenguaje son:
SELECT
Utilizado para consultar registros de la base de datos que
satisfagan un criterio determinado
INSERT
Utilizado para cargar lotes de datos en la base de datos en una
única operación.
UPDATE
Utilizado para modificar los valores de los campos y registros
especificados
DELETE Utilizado para eliminar registros de una tabla de una base de datos
7/26/2016AGCT
Las cláusulas son condiciones de modificación utilizadas para
definir los datos que desea seleccionar o manipular.
Cláusula Descripción
FROM
Utilizada para especificar la tabla de la cual se van a seleccionar
los registros
WHERE
Utilizada para especificar las condiciones que deben reunir los
registros que se van a seleccionar
GROUP BY
Utilizada para separar los registros seleccionados en grupos
específicos
HAVING
Utilizada para expresar la condición que debe satisfacer cada
grupo
ORDER BY
Utilizada para ordenar los registros seleccionados de acuerdo
con un orden específico
Clausulas
7/26/2016AGCT
Los operadores lógicos permiten comparar expresiones lógicas devolviendo
siempre un valor verdadero o falso. Los operadores lógicos se evalúan de
izquierda a derecha.
Operador Uso
AND
Es el "y" lógico. Evalúa dos condiciones y devuelve un valor
de verdad sólo si ambas son ciertas.
OR
Es el "o" lógico. Evalúa dos condiciones y devuelve un valor
de verdad si alguna de las dos es cierta.
NOT Negación lógica. Devuelve el valor contrario de la expresión.
+ (Concatenación) Se usa para unir datos de tipo alfanumérico
Operadores lógicos
7/26/2016AGCT
Operador Uso
< Menor que
> Mayor que
<> != Distinto de
<= Menor o igual que
>= Mayor o igual que
= Igual que
Numérico Alfanuméricos Fecha Lógico BLOB Otros
Integer Char Date Bit Image Moneda
Numeric varchar Date Time Text hipervínculo
Decimal adjunto
Float
Operadores Relacionales
*
7/26/2016AGCT
Las funciones agregadas proporcionan a SQL utilidades de cálculo sobre
los datos de las tablas.
Estas funciones se incorporan en las consultas SELECT y retornan un
único valor al operar sobre un grupo de registros.
Función Descripción
AVG
Utilizada para calcular el promedio de los valores de
un campo determinado
COUNT
Utilizada para devolver el número de registros de la
selección
SUM
Utilizada para devolver la suma de todos los valores de
un campo determinado
MAX
Utilizada para devolver el valor más alto de un campo
especificado
MIN
Utilizada para devolver el valor más bajo de un campo
especificado
Funciones Agregadas
7/26/2016AGCT
Los predicados son condiciones que se indican en claúsula WHERE de
una consulta SQL.
Predicados SQL
BETWEEN...AND Comprueba que al valor esta dentro de un intervalo
LIKE Compara un campo con una cadena alfanumérica.
ALL Señala a todos los elementos de la selección de la consulta
ANY Indica que la condición se cumplirá si la comparación es cierta para
al menos un elemento del conjunto.
EXISTS Devuelve un valor verdadero si el resultado de una subconsulta
devuelve resultados.
IN Comprueba si un campo se encuentra dentro de un determinado
rango. El rango puede ser una sentencia SELECT.
Predicados
7/26/2016AGCT
Ejemplo de Algunos comandos
Básicos
CREATE
Sintaxis:
Create Table nombre_tabla
(
nombre_campo_1 tipo_1,
nombre_campo_2 tipo_2,
nombre_campo_n tipo_n,
Key(campo_x,...)
)
Create Table pedidos
(
id_pedido INT(4) NOT NULL
AUTO_INCREMENT,
id_cliente INT(4) NOT NULL,
id_articulo INT(4)NOT NULL,
fecha DATE,
cantidad INT(4),
total INT(4),
KEY(id_pedido,id_cliente,id_articulo)
)
Create Table articulos
(
id_articulo INT(4) NOT NULL AUTO_INCREMENT,
titulo VARCHAR(50),
autor VARCHAR(25),
editorial VARCHAR(25),
precio REAL,
KEY(id_articulo)
)
ALTER TABLE personas
RENAME usuarios
Cambia el nomnbre de la tabla
'personas' a 'usuarios'
ALTER
7/26/2016AGCT
SELECT Campos FROM Tabla
SELECT Nombre, Teléfono FROM Clientes
SELECT CodigoPostal, Nombre,
Telefono
FROM Clientes
ORDER BY Nombre
Hay que empezar por la palabra SELECT, después puedes poner ALL(Predicado)
o nada, a continuación un nombre de columna(Campos), o varios separados
por comas(,), a continuación la palabra FROM(Clausula) y una expresión-tabla, y
por último de forma opcional puedes incluir la cláusula WHERE con una
condición-de-búsqueda.
Consulta de seleccion
Consulta para traer un registro cuyo campo empiece por
determinado valor. Ejemplo: traer nombre del cliente donde
el campo de dirección empiece por AV, se usa clausula LIKE
SELECT NOMBRE_CLIENTE FROM TABLA_CLIENTES WHERE
CAMPO_DIRECCION LIKE “AV%”.
7/26/2016AGCT
Oracle Application Express 4.1 New
Features
Mike Hichwa, Vice President, Database Tools
7/26/2016AGCT
The following is intended to outline Oracle’s general product direction. It is intended for
information purposes only, and may not be incorporated into any contract. It is not a
commitment to deliver any material, code, or functionality, and should not be relied upon in
making purchasing decisions.
The development, release, and timing of any features or functionality described for Oracle’s
products remains at the sole discretion of Oracle.
7/26/2016AGCT
Program Agenda
 Oracle Application Express Overview
 New Features in 4.1
 Beyond Oracle APEX 4.1…
 Q&A
AGCT
Oracle Application Express (Oracle APEX) Browser Based Application Development
7/26/2016AGCT
Oracle Application Express (Oracle APEX)
 Benefits
Runs within DatabaseSelf Service Provisioning
Leverage SQL SkillsRapid Browser Based Development
Point your browser and start developing Build reports and charts using SQL
Out-of-the-box elastic private cloud service Simple to manage, highly scalable
7/26/2016AGCT
Oracle Application Express (Oracle APEX
 Architectural Overview
• Simple 2-Tier Architecture
• Pages dynamically rendered using database Meta data
• No code generation or file based compilation
• Runs everywhere Oracle Database runs
7/26/2016AGCT
Oracle Application Express (Oracle APEX)
• Distributed with
– Oracle Enterprise Edition
– Oracle Standard Edition
– Oracle Standard Edition One
– Oracle XE
• Supported Database Releases
– 10gR2
– 11gR1
– 11gR2
7/26/2016AGCT
Oracle Application Express (Oracle APEX) History
HTML DB
1.5 [2004]
•First
Release
HTML DB
1.6 [2004]
•Themes
HTML DB 2.0
[2005]
•SQL Workshop
Application
Express 2.1
[2006]
•Oracle XE
Application
Express 2.2
[2006]
•Packaged
Applications
Application
Express 3.0
[2007]
•Flash Charts,
PDF Printing,
Access
Migration
Application
Express 3.1
[2008]
•Interactive
Reports
Application
Express 3.2
[2009]
•Oracle Forms
Conversion
Application
Express 4.0
[2010]
•Websheets,
Dynamic Actions,
Plug-Ins, Team
Development
Application
Express 4.1
[2011]
•Data Upload,
Error Handling,
ROWID
7/26/2016AGCT
Program Agenda
 Oracle Application Express Overview
 New Features in 4.1
 Beyond Oracle APEX 4.1…
 Q&A
AGCT
Error Handling
 Error Handling Function
 Provide developers full control when an error occurs
 Capabilities include:
 Log all errors
 Map errors raised by the Oracle Database (like “Unique constraint XYZ violated”) to friendlier
error messages
 Display all errors “Inline in Notification”
 Increase security by masking internal APEX errors
7/26/2016AGCT
Use of ROWID
 Allow usage of ROWID for Automatic DML Processing
 Tables with > 2 Primary Key(PK) columns supported
 Support for PK columns that are also a Foreign Key
 Alternative to identification of Primary Key columns
 Ability to create Form, Form & Report or Tabular Form on
Table or View with no Primary Key
7/26/2016AGCT
Data Upload
• Provide the ability for end-users to update spreadsheet data into tables
 Developer uses wizard to specify parameters
Following pages created:
 Data Load Source
 Data / Table Mapping
 Data Validation
 Data Load Results
7/26/2016AGCT
Calendar
• Added “Drag and Drop” functionality
 Change Date and Time of records
• Added ability to create “Edit” page as part of calendar wizard
 “Edit” Page types of:
 Existing page
 Pop-up page
 New page
7/26/2016AGCT
Websheet Enhancements
 Improved User Interface – offers greater control
 New Page Section Type – PL/SQL
 Query using Datagrid
 Presentation mode
7/26/2016AGCT
Tabular Form Validations
and Processes
 Support all the same validation types as a Page Item
(e.g. PL/SQL Expression, Exists, etc)
 Allow referencing of column values in Validations and Processes
using Bind Variable syntax:
 :COLUMN_NAME
 Built-in Bind variables -
APEX$ROW_SELECTOR, APEX$ROW_NUM and APEX$ROW_STATUS
 Validations & Processes can be fired for each submitted row
or once for the entire submission
 Advisor has been enhanced to check for valid Tabular Form columns
7/26/2016AGCT
Plug-In Enhancements
 Increased Number of Custom Attributes to 15
 New Attribute Type - ‘Checkboxes’
 Add plug-in Support for
 Authentication Schemes
 Authorization Schemes
 Attribute Usability Enhancements in Application Builder
7/26/2016AGCT
Dynamic Action Enahncements
Declarative support for buttons to trigger dynamic actions
 Actions performed based on button clicks
 Works for HTML, Image and Template based buttons
Extend the Submit Page dynamic action to gray out the page
and show a processing icon
Improve the ability to define multiple item values within ‘Set
Value’
7/26/2016AGCT
Accessibility
 Improved Menu accessibility
 Added ability to define row headers for tabular form fields
 Added “High Contrast” mode
 Improved usability for screen reader users when dealing with validation errors
 Integrated updated version of Rich Text Editor, offering improved accessibility
7/26/2016AGCT
Application Translations
 Modernized the Translation user interface
 Streamlined the translation process
 Minimize the translation requirements for repeated values
7/26/2016AGCT
Dynamic List
 Base list on SQL or PL/SQL functions
 Dynamically create styled list items
 Especially important for mobile based applications
7/26/2016AGCT
Mobile Applications
• Provide themes & HTML templates suitable for
smart phones and mobile devices
 jQuery Mobile*
 Dynamic List Support
 Improved HTML out of the box
* We plan to bundle jQuery Mobile into a future release of Application Express
7/26/2016AGCT
Other New Features in 4.1
Many Functional & Performance Improvements
New AnyChart Flash Charts
New CKEditor version
New jQuery and jQuery UI versions
7/26/2016AGCT
Program Agenda
 Oracle Application Express Overview
 New Features in 4.1
 Beyond Oracle APEX 4.1…
 Q&A
AGCT
Beyond Oracle APEX 4.1…
Proposed Future Release Features
 Enhanced themes and HTML templates to enable developers to
declaratively create mobile applications and/or mobile pages.
 Incorporate HTML 5 charting capabilities.
 Declarative specification of RESTful Web services mapped to SQL and
PL/SQL.
 Modal Dialogues
 Multiple Tabular Forms on one page
 Master-Detail-Detail support
 Multiple Interactive Reports on one page
7/26/2016AGCT
Program Agenda
 Oracle Application Express Overview
 New Features in 4.1
 Beyond Oracle APEX 4.1…
 Q&A
AGCT
7/26/2016AGCT
7/26/2016AGCT
Base de datos de Oracle NoSQL
Oracle NoSQL base de datos es una base de datos NoSQL
distribuida escalable, diseñado para proporcionar, gestión
de datos flexible y altamente disponible fiable a través de
un conjunto configurable de nodos de almacenamiento.
Los datos pueden ser modelados como mesas de estilo
base de datos relacional, documentos JSON o pares de
clave y valor. Oracle NoSQL base de datos es un sistema
fragmentados (compartido-nada), que distribuye los datos
de manera uniforme a través de los múltiples fragmentos
en el clúster, basado en el valor hash de la clave primaria.
Dentro de cada fragmento, nodos de datos se replican en
garantizar una alta disponibilidad, la rápida conmutación
por error en el caso de un fallo de nodo y balanceo de
carga óptima de las consultas. NoSQL base de datos
proporciona Java, C, Python y conductores Node.js y una
API REST para simplificar el desarrollo de aplicaciones. Base
de datos NoSQL se integra con una amplia variedad de
aplicaciones de código abierto Oracle relacionada y con el
fin de simplificar y agilizar el desarrollo y despliegue de
aplicaciones modernas de datos grandes. NoSQL base de
datos es de doble licencia y disponible como una edición
de la comunidad de código abierto, así como una licencia
comercial Enterprise Edition.
7/26/2016AGCT
Cassandra, la dama de las
bases de datos NoSQL
Dentro de los nuevos sistemas de
almacenamiento que están surgiendo
dentro del universo Big Data, Cassandra
es uno de los más interesantes y
reseñables. Cassandra se define como una
base de datos NoSQL distribuida y
masivamente escalable, y esta es su
mayor virtud desde nuestro punto de
vista, la capacidad de escalar linealmente.
Además, Cassandra introduce conceptos
muy interesantes como el soporte para
multi data center o la comunicación peer-
to-peer entre sus nodos. En este artículo
vamos a profundizar en estas y otras
características que hacen a Cassandra tan
especial.
7/26/2016AGCT
Historia y orígenes
 Arquitectura y características
 Cassandra nos proporciona tolerancia a particiones y
disponibilidad, pero a cambio de ser eventualmente
consistente, tal y como define el teorema CAP. El nivel
de consistencia puede ser configurado, según nos
interese, incluso a nivel de query.
 Es distribuida, lo quiere decir que la información está
repartida a lo largo de los nodos del cluster. Además
ofrece alta disponibilidad, de manera que si alguno de
los nodos se cae el servicio no se degradará.
 Escala linealmente, lo que quiere decir que el
rendimiento de forma lineal respecto al número de
nodos que añadamos. Por ejemplo, si con 2 nodos
soportamos 100.000 operaciones por segundo, con 4
nodos soportaremos 200.000. Esto da mucha
predictibilidad a nuestros sistemas.
 Escala de forma horizontal, lo que quiere decir que
podemos escalar nuestro sistema añadiendo nuevos
nodos basados en hardware commodity de bajo coste.
El desarrollo inicial de Cassandra tiene su origen en Facebook,
que lo diseñó para potenciar la funcionalidad de búsqueda en
el inbox. En 2008 fue liberado como proyecto open source y
en febrero de 2010 se convirtió en un proyecto top-level de
la fundación Apache. Está inspirado e influenciado por los
papers de Amazon Dynamo de 2007 y de Google BigTable de
2006. Hoy en día está mantenido y desarrollado por la
compañía Datastax.
Su nombre está inspirado por la sacerdotisa Cassandra de la
mitología griega, que tenía el don de la profecía, y predijo el
engaño del Caballo de Troya.
7/26/2016AGCT
7/26/2016AGCT
Implementa una arquitectura
Peer-to-Peer
patrones maestro-esclavo como otros sistemas de
almacenamiento. De esta manera cualquiera de los
nodos puede tomar el rol de coordinador de una
query. Será el driver el que decida qué nodo quiere
que sea el coordinador.
Los datos son repartidos a lo largo del cluster en
base a un token único calculado para cada fila por
una función hash. Los nodos se reparten
equitativamente el rango de tokens que va de -263a
263, esto define el nodo primario. Internamente
Cassandra replicará los datos entre los nodos con la
política que le definamos, por ejemplo definiendo el
factor de replicación. Además soporta el concepto
de data center para agrupar los nodos lógicamente
y tener los datos más cerca del usuario.
7/26/2016AGCT
 Modelado de datos
 También combina propiedades de una base
de datos clave-valor y una orientada a
columnas. Como podemos ver en el siguiente
diagrama la información se organiza de
manera que toda fila tiene una clave única y
una serie de pares de clave, valor de columna.
Es importante tener en mente estas
características a la hora de diseñar nuestro
modelo de datos.
Lenguaje CQL
Cassandra Query Language (CQL) es el lenguaje de
acceso a datos en Cassandra, es un derivado
reducido de SQL. En Cassandra los datos están
desnormalizados de manera que el concepto de
joins o subqueries no existe.
Podemos interactuar con Cassandra mediante CQL
a través de la shell. de CQL, cqlshell. También
podemos usar herramientas gráficas
como DevCenter o a través de los drivers
soportados para múltiples lenguajes de
programación.
7/26/2016AGCT
 Cuando diseñemos nuestro modelo debemos de guiarnos por el patrón de acceso a los
datos, hay que hacer un análisis de las queries que pretendemos ejecutar contra nuestro
sistema y de esta forma podremos diseñar un modelo eficiente que pueda sacar partido de
las ventajas de Cassandra.
 Es importante también definir adecuadamente la clave de partición de nuestro datos, ya que
Cassandra se basará en esta clave para distribuir los datos a lo largo del cluster. Si queremos
aprovechar nuestro cluster debemos pensar en distribuir los datos para evitar cuellos de
botella. También es recomendable, dado nuestro patrón de consulta, intentar minimizar el
número de particiones a las que hay que acceder durante una lectura.
7/26/2016AGCT
Cibergrafia
http://eds.a.ebscohost.com/eds/detail/detail?vid=1&sid=8621a7f2-b865-4000-a0e6-
9814d3d1b287%40sessionmgr4008&hid=4213&bdata=Jmxhbmc9ZXMmc2l0ZT1lZHMtbGl2ZQ%3
d%3d#AN=rec.2072.187762&db=edsrec
https://translate.google.com.mx/translate?hl=es&sl=en&u=http://www.oracle.com/technetwork/d
atabase/database-technologies/nosqldb/overview/index.html&prev=search
https://www.paradigmadigital.com/dev/cassandra-la-dama-de-las-bases-de-datos-nosql/
https://www.youtube.com/watch?v=jxwtmMTMrJA
https://www.youtube.com/watch?v=7KNX-bLACcQ
7/26/2016AGCT

Más contenido relacionado

La actualidad más candente

Tipos de consultas en access
Tipos de consultas en accessTipos de consultas en access
Tipos de consultas en accessJavierAlban
 
Susanasailematipos de consultas en access,,,
Susanasailematipos de consultas en access,,,Susanasailematipos de consultas en access,,,
Susanasailematipos de consultas en access,,,susysailema
 
Examen de recuperacion maestra yolanda
Examen de recuperacion maestra yolandaExamen de recuperacion maestra yolanda
Examen de recuperacion maestra yolandaBety Cruz
 
Informatica
InformaticaInformatica
InformaticaSofibo96
 
Base de datos Objeto-Relacional.
Base de datos Objeto-Relacional.Base de datos Objeto-Relacional.
Base de datos Objeto-Relacional.Juan Raul Vergara
 
El modelo de datos relacional (Base de Datos)
El modelo de datos relacional (Base de Datos)El modelo de datos relacional (Base de Datos)
El modelo de datos relacional (Base de Datos)Jose Carlos Guerra
 
Bases de datos angierivera
Bases de datos angieriveraBases de datos angierivera
Bases de datos angieriveraangierivera05
 

La actualidad más candente (12)

Daniela hernandez
Daniela hernandezDaniela hernandez
Daniela hernandez
 
Tipos de consultas en access
Tipos de consultas en accessTipos de consultas en access
Tipos de consultas en access
 
Cubos ppt
Cubos pptCubos ppt
Cubos ppt
 
Susanasailematipos de consultas en access,,,
Susanasailematipos de consultas en access,,,Susanasailematipos de consultas en access,,,
Susanasailematipos de consultas en access,,,
 
Base de datos
Base de datosBase de datos
Base de datos
 
Examen de recuperacion maestra yolanda
Examen de recuperacion maestra yolandaExamen de recuperacion maestra yolanda
Examen de recuperacion maestra yolanda
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Informatica
InformaticaInformatica
Informatica
 
Deber grupo jjj
Deber grupo jjjDeber grupo jjj
Deber grupo jjj
 
Base de datos Objeto-Relacional.
Base de datos Objeto-Relacional.Base de datos Objeto-Relacional.
Base de datos Objeto-Relacional.
 
El modelo de datos relacional (Base de Datos)
El modelo de datos relacional (Base de Datos)El modelo de datos relacional (Base de Datos)
El modelo de datos relacional (Base de Datos)
 
Bases de datos angierivera
Bases de datos angieriveraBases de datos angierivera
Bases de datos angierivera
 

Similar a Bases de datos

Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014JOSE AHIAS LOPEZ PORTILLO
 
Lenguaje estructurado sql
Lenguaje estructurado sqlLenguaje estructurado sql
Lenguaje estructurado sqlDiego Sánchez
 
lenguaje transact
lenguaje transactlenguaje transact
lenguaje transactbandida123
 
lenguaje transact
lenguaje transactlenguaje transact
lenguaje transactbandida123
 
1_ Introducción a Oracle, SqlDeveloper, Usuarios-Privilegios.pptx
1_ Introducción a Oracle, SqlDeveloper, Usuarios-Privilegios.pptx1_ Introducción a Oracle, SqlDeveloper, Usuarios-Privilegios.pptx
1_ Introducción a Oracle, SqlDeveloper, Usuarios-Privilegios.pptxCarlosSaid7
 
Unidad 2-lenguaje-sql
Unidad 2-lenguaje-sqlUnidad 2-lenguaje-sql
Unidad 2-lenguaje-sqlclaudia_m
 
IntroduccióN A Sql Server 2005
IntroduccióN A Sql Server 2005IntroduccióN A Sql Server 2005
IntroduccióN A Sql Server 2005oswchavez
 
Cuadro Comparativo Bd
Cuadro Comparativo BdCuadro Comparativo Bd
Cuadro Comparativo Bdalinacarrion
 
Base de datos objeto
Base de datos objetoBase de datos objeto
Base de datos objetoRaul Quispe P
 
Barras de herramientas de microsoft office
Barras de herramientas de microsoft officeBarras de herramientas de microsoft office
Barras de herramientas de microsoft officeD_sanchez
 
Sql dinamico14042011
Sql dinamico14042011Sql dinamico14042011
Sql dinamico14042011josecuartas
 

Similar a Bases de datos (20)

Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014
 
Lenguaje estructurado sql
Lenguaje estructurado sqlLenguaje estructurado sql
Lenguaje estructurado sql
 
lenguaje transact
lenguaje transactlenguaje transact
lenguaje transact
 
lenguaje transact
lenguaje transactlenguaje transact
lenguaje transact
 
Pres17BDII.ppt
Pres17BDII.pptPres17BDII.ppt
Pres17BDII.ppt
 
1_ Introducción a Oracle, SqlDeveloper, Usuarios-Privilegios.pptx
1_ Introducción a Oracle, SqlDeveloper, Usuarios-Privilegios.pptx1_ Introducción a Oracle, SqlDeveloper, Usuarios-Privilegios.pptx
1_ Introducción a Oracle, SqlDeveloper, Usuarios-Privilegios.pptx
 
Unidad 2-lenguaje-sql
Unidad 2-lenguaje-sqlUnidad 2-lenguaje-sql
Unidad 2-lenguaje-sql
 
Visualfoxpro
VisualfoxproVisualfoxpro
Visualfoxpro
 
IntroduccióN A Sql Server 2005
IntroduccióN A Sql Server 2005IntroduccióN A Sql Server 2005
IntroduccióN A Sql Server 2005
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Cuadro Comparativo Bd
Cuadro Comparativo BdCuadro Comparativo Bd
Cuadro Comparativo Bd
 
Isangelt lo Hizo!!
Isangelt lo Hizo!!Isangelt lo Hizo!!
Isangelt lo Hizo!!
 
Base de datos objeto
Base de datos objetoBase de datos objeto
Base de datos objeto
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Barras de herramientas de microsoft office
Barras de herramientas de microsoft officeBarras de herramientas de microsoft office
Barras de herramientas de microsoft office
 
Johan nuevo
Johan nuevoJohan nuevo
Johan nuevo
 
Johan nuevo
Johan nuevoJohan nuevo
Johan nuevo
 
Diapositivas de ado.net
Diapositivas de ado.netDiapositivas de ado.net
Diapositivas de ado.net
 
Sql dinamico14042011
Sql dinamico14042011Sql dinamico14042011
Sql dinamico14042011
 

Último

02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señorkkte210207
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfisrael garcia
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdfedwinmelgarschlink2
 
Las redes sociales en el mercado digital
Las redes sociales en el mercado digitalLas redes sociales en el mercado digital
Las redes sociales en el mercado digitalNayaniJulietaRamosRa
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdflauradbernals
 
Unidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disolucionesUnidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disolucioneschorantina325
 

Último (6)

02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
02. Mr. Spencer (T.L. Sawn).pdf.libro de un señor
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf
 
Las redes sociales en el mercado digital
Las redes sociales en el mercado digitalLas redes sociales en el mercado digital
Las redes sociales en el mercado digital
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdf
 
Unidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disolucionesUnidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disoluciones
 

Bases de datos

  • 2.  Se le llama base de datos a los bancos de información que contienen datos relativos a diversas temáticas y categorizados de distinta manera, pero que comparten entre sí algún tipo de vínculo o relación que busca ordenarlos y clasificarlos en conjunto. 7/26/2016AGCT
  • 3. Los cambios recientes en los planes de estudio de la UPC y la UOC tienen en cuenta el nuevo espacio europeo de educación superior (EEES). Una de las consecuencias directas de estos cambios es la necesidad de acotar y optimizar el tiempo a dedicar a las actividades de aprendizaje que requieren la participación activa del estudiante y que se realizan de forma continuada durante el semestre. En el ámbito de la docencia informática de asignaturas de bases de datos el problema es especialmente complejo debido a que los enunciados de las pruebas no acostumbran a tener una solución única. Nosotros hemos desarrollado una herramienta, llamada LEARN-SQL, cuyo objetivo es corregir automáticamente cualquier tipo de sentencia SQL (consultas, actualizaciones, procedimientos almacenados, disparadores etc.) y discernir si la respuesta aportada por el estudiante es o no correcta con independencia de la solución concreta que este proponga. Además esta herramienta ayuda a los profesores a diseñar las pruebas devaluación, permitiendo también la opción de revisar cualitativamente las soluciones aportadas por los estudiantes. Por último, el sistema proporciona ayuda a los estudiantes para que aprendan de sus propios errores, proporcionando feedback de calidad. 7/26/2016AGCT
  • 4. Sublenguajes Las sentencias SQL se clasifican según su finalidad dando origen a tres Sublenguajes:  Lenguaje de definicion de datos (Data Definition language)DDL. es el que se encarga de la definición de la base de datos y la modificación de la estructura de los objetos que estén en ella. Algunos comandos propios de este sublenguaje son CREATE, ALTER, DROP y TRUNCATE CREATE Utilizado para crear nuevas tablas, campos e índices DROP Empleado para eliminar tablas e índices ALTER Utilizado para modificar las tablas agregando campos o cambiando la definición de los campos. 7/26/2016AGCT
  • 5.  Lenguaje de control de datos (Data Control Language) DCL. encargado de la seguridad de la base de datos, en todo lo referente al control de accesos y privilegios entre los usuarios. Como ejemplo estan : GRANT, REVOKE.  Lenguaje de Manipulacion de Datos (Data Manipulation Language) DML. A través de él podemos seleccionar, insertar, eliminar y actualizar datos. Es la parte que más frecuentemente utilizaremos, y que con ella se construyen las consultas. Algunos comandos propios de este sublenguaje son: SELECT Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado INSERT Utilizado para cargar lotes de datos en la base de datos en una única operación. UPDATE Utilizado para modificar los valores de los campos y registros especificados DELETE Utilizado para eliminar registros de una tabla de una base de datos 7/26/2016AGCT
  • 6. Las cláusulas son condiciones de modificación utilizadas para definir los datos que desea seleccionar o manipular. Cláusula Descripción FROM Utilizada para especificar la tabla de la cual se van a seleccionar los registros WHERE Utilizada para especificar las condiciones que deben reunir los registros que se van a seleccionar GROUP BY Utilizada para separar los registros seleccionados en grupos específicos HAVING Utilizada para expresar la condición que debe satisfacer cada grupo ORDER BY Utilizada para ordenar los registros seleccionados de acuerdo con un orden específico Clausulas 7/26/2016AGCT
  • 7. Los operadores lógicos permiten comparar expresiones lógicas devolviendo siempre un valor verdadero o falso. Los operadores lógicos se evalúan de izquierda a derecha. Operador Uso AND Es el "y" lógico. Evalúa dos condiciones y devuelve un valor de verdad sólo si ambas son ciertas. OR Es el "o" lógico. Evalúa dos condiciones y devuelve un valor de verdad si alguna de las dos es cierta. NOT Negación lógica. Devuelve el valor contrario de la expresión. + (Concatenación) Se usa para unir datos de tipo alfanumérico Operadores lógicos 7/26/2016AGCT
  • 8. Operador Uso < Menor que > Mayor que <> != Distinto de <= Menor o igual que >= Mayor o igual que = Igual que Numérico Alfanuméricos Fecha Lógico BLOB Otros Integer Char Date Bit Image Moneda Numeric varchar Date Time Text hipervínculo Decimal adjunto Float Operadores Relacionales * 7/26/2016AGCT
  • 9. Las funciones agregadas proporcionan a SQL utilidades de cálculo sobre los datos de las tablas. Estas funciones se incorporan en las consultas SELECT y retornan un único valor al operar sobre un grupo de registros. Función Descripción AVG Utilizada para calcular el promedio de los valores de un campo determinado COUNT Utilizada para devolver el número de registros de la selección SUM Utilizada para devolver la suma de todos los valores de un campo determinado MAX Utilizada para devolver el valor más alto de un campo especificado MIN Utilizada para devolver el valor más bajo de un campo especificado Funciones Agregadas 7/26/2016AGCT
  • 10. Los predicados son condiciones que se indican en claúsula WHERE de una consulta SQL. Predicados SQL BETWEEN...AND Comprueba que al valor esta dentro de un intervalo LIKE Compara un campo con una cadena alfanumérica. ALL Señala a todos los elementos de la selección de la consulta ANY Indica que la condición se cumplirá si la comparación es cierta para al menos un elemento del conjunto. EXISTS Devuelve un valor verdadero si el resultado de una subconsulta devuelve resultados. IN Comprueba si un campo se encuentra dentro de un determinado rango. El rango puede ser una sentencia SELECT. Predicados 7/26/2016AGCT
  • 11. Ejemplo de Algunos comandos Básicos CREATE Sintaxis: Create Table nombre_tabla ( nombre_campo_1 tipo_1, nombre_campo_2 tipo_2, nombre_campo_n tipo_n, Key(campo_x,...) ) Create Table pedidos ( id_pedido INT(4) NOT NULL AUTO_INCREMENT, id_cliente INT(4) NOT NULL, id_articulo INT(4)NOT NULL, fecha DATE, cantidad INT(4), total INT(4), KEY(id_pedido,id_cliente,id_articulo) ) Create Table articulos ( id_articulo INT(4) NOT NULL AUTO_INCREMENT, titulo VARCHAR(50), autor VARCHAR(25), editorial VARCHAR(25), precio REAL, KEY(id_articulo) ) ALTER TABLE personas RENAME usuarios Cambia el nomnbre de la tabla 'personas' a 'usuarios' ALTER 7/26/2016AGCT
  • 12. SELECT Campos FROM Tabla SELECT Nombre, Teléfono FROM Clientes SELECT CodigoPostal, Nombre, Telefono FROM Clientes ORDER BY Nombre Hay que empezar por la palabra SELECT, después puedes poner ALL(Predicado) o nada, a continuación un nombre de columna(Campos), o varios separados por comas(,), a continuación la palabra FROM(Clausula) y una expresión-tabla, y por último de forma opcional puedes incluir la cláusula WHERE con una condición-de-búsqueda. Consulta de seleccion Consulta para traer un registro cuyo campo empiece por determinado valor. Ejemplo: traer nombre del cliente donde el campo de dirección empiece por AV, se usa clausula LIKE SELECT NOMBRE_CLIENTE FROM TABLA_CLIENTES WHERE CAMPO_DIRECCION LIKE “AV%”. 7/26/2016AGCT
  • 13. Oracle Application Express 4.1 New Features Mike Hichwa, Vice President, Database Tools 7/26/2016AGCT
  • 14. The following is intended to outline Oracle’s general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 7/26/2016AGCT
  • 15. Program Agenda  Oracle Application Express Overview  New Features in 4.1  Beyond Oracle APEX 4.1…  Q&A AGCT
  • 16. Oracle Application Express (Oracle APEX) Browser Based Application Development 7/26/2016AGCT
  • 17. Oracle Application Express (Oracle APEX)  Benefits Runs within DatabaseSelf Service Provisioning Leverage SQL SkillsRapid Browser Based Development Point your browser and start developing Build reports and charts using SQL Out-of-the-box elastic private cloud service Simple to manage, highly scalable 7/26/2016AGCT
  • 18. Oracle Application Express (Oracle APEX  Architectural Overview • Simple 2-Tier Architecture • Pages dynamically rendered using database Meta data • No code generation or file based compilation • Runs everywhere Oracle Database runs 7/26/2016AGCT
  • 19. Oracle Application Express (Oracle APEX) • Distributed with – Oracle Enterprise Edition – Oracle Standard Edition – Oracle Standard Edition One – Oracle XE • Supported Database Releases – 10gR2 – 11gR1 – 11gR2 7/26/2016AGCT
  • 20. Oracle Application Express (Oracle APEX) History HTML DB 1.5 [2004] •First Release HTML DB 1.6 [2004] •Themes HTML DB 2.0 [2005] •SQL Workshop Application Express 2.1 [2006] •Oracle XE Application Express 2.2 [2006] •Packaged Applications Application Express 3.0 [2007] •Flash Charts, PDF Printing, Access Migration Application Express 3.1 [2008] •Interactive Reports Application Express 3.2 [2009] •Oracle Forms Conversion Application Express 4.0 [2010] •Websheets, Dynamic Actions, Plug-Ins, Team Development Application Express 4.1 [2011] •Data Upload, Error Handling, ROWID 7/26/2016AGCT
  • 21. Program Agenda  Oracle Application Express Overview  New Features in 4.1  Beyond Oracle APEX 4.1…  Q&A AGCT
  • 22. Error Handling  Error Handling Function  Provide developers full control when an error occurs  Capabilities include:  Log all errors  Map errors raised by the Oracle Database (like “Unique constraint XYZ violated”) to friendlier error messages  Display all errors “Inline in Notification”  Increase security by masking internal APEX errors 7/26/2016AGCT
  • 23. Use of ROWID  Allow usage of ROWID for Automatic DML Processing  Tables with > 2 Primary Key(PK) columns supported  Support for PK columns that are also a Foreign Key  Alternative to identification of Primary Key columns  Ability to create Form, Form & Report or Tabular Form on Table or View with no Primary Key 7/26/2016AGCT
  • 24. Data Upload • Provide the ability for end-users to update spreadsheet data into tables  Developer uses wizard to specify parameters Following pages created:  Data Load Source  Data / Table Mapping  Data Validation  Data Load Results 7/26/2016AGCT
  • 25. Calendar • Added “Drag and Drop” functionality  Change Date and Time of records • Added ability to create “Edit” page as part of calendar wizard  “Edit” Page types of:  Existing page  Pop-up page  New page 7/26/2016AGCT
  • 26. Websheet Enhancements  Improved User Interface – offers greater control  New Page Section Type – PL/SQL  Query using Datagrid  Presentation mode 7/26/2016AGCT
  • 27. Tabular Form Validations and Processes  Support all the same validation types as a Page Item (e.g. PL/SQL Expression, Exists, etc)  Allow referencing of column values in Validations and Processes using Bind Variable syntax:  :COLUMN_NAME  Built-in Bind variables - APEX$ROW_SELECTOR, APEX$ROW_NUM and APEX$ROW_STATUS  Validations & Processes can be fired for each submitted row or once for the entire submission  Advisor has been enhanced to check for valid Tabular Form columns 7/26/2016AGCT
  • 28. Plug-In Enhancements  Increased Number of Custom Attributes to 15  New Attribute Type - ‘Checkboxes’  Add plug-in Support for  Authentication Schemes  Authorization Schemes  Attribute Usability Enhancements in Application Builder 7/26/2016AGCT
  • 29. Dynamic Action Enahncements Declarative support for buttons to trigger dynamic actions  Actions performed based on button clicks  Works for HTML, Image and Template based buttons Extend the Submit Page dynamic action to gray out the page and show a processing icon Improve the ability to define multiple item values within ‘Set Value’ 7/26/2016AGCT
  • 30. Accessibility  Improved Menu accessibility  Added ability to define row headers for tabular form fields  Added “High Contrast” mode  Improved usability for screen reader users when dealing with validation errors  Integrated updated version of Rich Text Editor, offering improved accessibility 7/26/2016AGCT
  • 31. Application Translations  Modernized the Translation user interface  Streamlined the translation process  Minimize the translation requirements for repeated values 7/26/2016AGCT
  • 32. Dynamic List  Base list on SQL or PL/SQL functions  Dynamically create styled list items  Especially important for mobile based applications 7/26/2016AGCT
  • 33. Mobile Applications • Provide themes & HTML templates suitable for smart phones and mobile devices  jQuery Mobile*  Dynamic List Support  Improved HTML out of the box * We plan to bundle jQuery Mobile into a future release of Application Express 7/26/2016AGCT
  • 34. Other New Features in 4.1 Many Functional & Performance Improvements New AnyChart Flash Charts New CKEditor version New jQuery and jQuery UI versions 7/26/2016AGCT
  • 35. Program Agenda  Oracle Application Express Overview  New Features in 4.1  Beyond Oracle APEX 4.1…  Q&A AGCT
  • 36. Beyond Oracle APEX 4.1… Proposed Future Release Features  Enhanced themes and HTML templates to enable developers to declaratively create mobile applications and/or mobile pages.  Incorporate HTML 5 charting capabilities.  Declarative specification of RESTful Web services mapped to SQL and PL/SQL.  Modal Dialogues  Multiple Tabular Forms on one page  Master-Detail-Detail support  Multiple Interactive Reports on one page 7/26/2016AGCT
  • 37. Program Agenda  Oracle Application Express Overview  New Features in 4.1  Beyond Oracle APEX 4.1…  Q&A AGCT
  • 40. Base de datos de Oracle NoSQL Oracle NoSQL base de datos es una base de datos NoSQL distribuida escalable, diseñado para proporcionar, gestión de datos flexible y altamente disponible fiable a través de un conjunto configurable de nodos de almacenamiento. Los datos pueden ser modelados como mesas de estilo base de datos relacional, documentos JSON o pares de clave y valor. Oracle NoSQL base de datos es un sistema fragmentados (compartido-nada), que distribuye los datos de manera uniforme a través de los múltiples fragmentos en el clúster, basado en el valor hash de la clave primaria. Dentro de cada fragmento, nodos de datos se replican en garantizar una alta disponibilidad, la rápida conmutación por error en el caso de un fallo de nodo y balanceo de carga óptima de las consultas. NoSQL base de datos proporciona Java, C, Python y conductores Node.js y una API REST para simplificar el desarrollo de aplicaciones. Base de datos NoSQL se integra con una amplia variedad de aplicaciones de código abierto Oracle relacionada y con el fin de simplificar y agilizar el desarrollo y despliegue de aplicaciones modernas de datos grandes. NoSQL base de datos es de doble licencia y disponible como una edición de la comunidad de código abierto, así como una licencia comercial Enterprise Edition. 7/26/2016AGCT
  • 41. Cassandra, la dama de las bases de datos NoSQL Dentro de los nuevos sistemas de almacenamiento que están surgiendo dentro del universo Big Data, Cassandra es uno de los más interesantes y reseñables. Cassandra se define como una base de datos NoSQL distribuida y masivamente escalable, y esta es su mayor virtud desde nuestro punto de vista, la capacidad de escalar linealmente. Además, Cassandra introduce conceptos muy interesantes como el soporte para multi data center o la comunicación peer- to-peer entre sus nodos. En este artículo vamos a profundizar en estas y otras características que hacen a Cassandra tan especial. 7/26/2016AGCT
  • 42. Historia y orígenes  Arquitectura y características  Cassandra nos proporciona tolerancia a particiones y disponibilidad, pero a cambio de ser eventualmente consistente, tal y como define el teorema CAP. El nivel de consistencia puede ser configurado, según nos interese, incluso a nivel de query.  Es distribuida, lo quiere decir que la información está repartida a lo largo de los nodos del cluster. Además ofrece alta disponibilidad, de manera que si alguno de los nodos se cae el servicio no se degradará.  Escala linealmente, lo que quiere decir que el rendimiento de forma lineal respecto al número de nodos que añadamos. Por ejemplo, si con 2 nodos soportamos 100.000 operaciones por segundo, con 4 nodos soportaremos 200.000. Esto da mucha predictibilidad a nuestros sistemas.  Escala de forma horizontal, lo que quiere decir que podemos escalar nuestro sistema añadiendo nuevos nodos basados en hardware commodity de bajo coste. El desarrollo inicial de Cassandra tiene su origen en Facebook, que lo diseñó para potenciar la funcionalidad de búsqueda en el inbox. En 2008 fue liberado como proyecto open source y en febrero de 2010 se convirtió en un proyecto top-level de la fundación Apache. Está inspirado e influenciado por los papers de Amazon Dynamo de 2007 y de Google BigTable de 2006. Hoy en día está mantenido y desarrollado por la compañía Datastax. Su nombre está inspirado por la sacerdotisa Cassandra de la mitología griega, que tenía el don de la profecía, y predijo el engaño del Caballo de Troya. 7/26/2016AGCT
  • 44. Implementa una arquitectura Peer-to-Peer patrones maestro-esclavo como otros sistemas de almacenamiento. De esta manera cualquiera de los nodos puede tomar el rol de coordinador de una query. Será el driver el que decida qué nodo quiere que sea el coordinador. Los datos son repartidos a lo largo del cluster en base a un token único calculado para cada fila por una función hash. Los nodos se reparten equitativamente el rango de tokens que va de -263a 263, esto define el nodo primario. Internamente Cassandra replicará los datos entre los nodos con la política que le definamos, por ejemplo definiendo el factor de replicación. Además soporta el concepto de data center para agrupar los nodos lógicamente y tener los datos más cerca del usuario. 7/26/2016AGCT
  • 45.  Modelado de datos  También combina propiedades de una base de datos clave-valor y una orientada a columnas. Como podemos ver en el siguiente diagrama la información se organiza de manera que toda fila tiene una clave única y una serie de pares de clave, valor de columna. Es importante tener en mente estas características a la hora de diseñar nuestro modelo de datos. Lenguaje CQL Cassandra Query Language (CQL) es el lenguaje de acceso a datos en Cassandra, es un derivado reducido de SQL. En Cassandra los datos están desnormalizados de manera que el concepto de joins o subqueries no existe. Podemos interactuar con Cassandra mediante CQL a través de la shell. de CQL, cqlshell. También podemos usar herramientas gráficas como DevCenter o a través de los drivers soportados para múltiples lenguajes de programación. 7/26/2016AGCT
  • 46.  Cuando diseñemos nuestro modelo debemos de guiarnos por el patrón de acceso a los datos, hay que hacer un análisis de las queries que pretendemos ejecutar contra nuestro sistema y de esta forma podremos diseñar un modelo eficiente que pueda sacar partido de las ventajas de Cassandra.  Es importante también definir adecuadamente la clave de partición de nuestro datos, ya que Cassandra se basará en esta clave para distribuir los datos a lo largo del cluster. Si queremos aprovechar nuestro cluster debemos pensar en distribuir los datos para evitar cuellos de botella. También es recomendable, dado nuestro patrón de consulta, intentar minimizar el número de particiones a las que hay que acceder durante una lectura. 7/26/2016AGCT