Tip:
Highlight text to annotate it
X
Bienvenido al curso Introducción a las bases de datos
Soy Jennifer Widom de la Universidad de Stanford
En este curso vamos a aprender
sobre bases de datos y el uso de la
de sistemas de gestión de bases de datos, principalmente
desde el punto de vista del diseñador,
usuarios y desarrolladores de aplicaciones de base de datos.
Voy a empezar por describir en
una frase muy larga lo que
un sistema de gestión de base de datos provee para las aplicaciones.
Ofrece un medio de manejo de grandes cantidades
de los datos de todo, ¡pero mira un poco más detalle.
Lo que ofrece, en un
frase larga, es eficiente, confiable,
cómodo y seguro multi-usuario
almacenamiento y el acceso a
cantidades masivas de datos persistentes.
Por lo tanto, voy a ir
en cada uno de esos adjetivos en
un poco más en detalle en un momento.
Pero quería mencionar esa base de datos
los sistemas son muy frecuentes en el mundo hoy.
Se sientan detrás de muchos sitios Web
ejecutará sus sistemas bancarios,
sus telecomunicaciones, instalaciones de
sensores, experimentos científicos y mucho más.
Muy frecuente.
Así que vamos a hablar un poco
bits acerca de por qué son los sistemas de bases de datos
tan popular así y frecuente mirando estos siete adjetivos.
El primer aspecto de la base de datos
sistemas es que manejan
datos en gran escala.
Así que si piensas en
la cantidad de datos que es
se producen hoy en día, los sistemas de bases de datos
están manejando terabytes de datos,
a veces incluso terabytes de datos cada día.
Y uno de los críticos
aspectos que son los datos
es manejado por los sistemas de gestión de base de datos
sistemas es mucho más grande que puede
encajar en la memoria de un sistema informático típico.
Así que de hecho están creciendo recuerdos
muy, muy rápido, pero el
cantidad de datos en el mundo
y los datos a ser manipulados por
sistemas de base de datos está creciendo mucho más rápido.
También lo son los sistemas de bases de datos
diseñado para manejar datos que a que residen fuera de la memoria.
En segundo lugar, los datos que
manejado por la administración de base de datos es típicamente persistente sistemas.
Y lo que quiero decir con esto es
que los datos en la base de datos
outlives los programas que se ejecutan sobre esos datos.
Así que si se ejecuta
un programa de computadora el programa
comenzará a las variables que hemos creado.
Habrá datos que es operados en
el programa terminará el programa y los datos desaparecerá.
Es una especie de la otra manera con bases de datos.
Los datos están lo que se sienta allí
y, a continuación, el programa se iniciará
hasta, operará en el
datos, se detendrá el programa y los datos todavía estará allí.
Muy a menudo en realidad varios programas
funcionará en los mismos datos.
A continuación, seguridad.
Base de datos tan de sistemas, desde
se ejecutan las aplicaciones críticas como
las telecomunicaciones y los sistemas bancarios,
hay que tener garantías que
los datos administrados por el sistema
se quedará en un consistente
Estado, no se perderán o
sobrescribir cuando hay
fallas y allí pueden ser fallas de hardware.
Puede haber errores de software.
Apagones incluso simple.
No desea que su banco
saldo a cambiar porque la
poder salieron en la sucursal bancaria.
Y por supuesto hay el problema
de usuarios malintencionados que pueden intentar corromper datos.
Para los sistemas de bases de datos tienen un
número de mecanismos construidos en que
garantizar que los datos sigue siendo coherentes,
independientemente de lo que sucede.
Próxima multiusuario. Así que me
mencionó que varios programas pueden operar en la misma base de datos.
E incluso con un programa de funcionamiento
sobre una base de datos, puede ese programa
permitan que muchos usuarios diferentes o
aplicaciones para acceder a los datos simultáneamente.
Cuando tienes
múltiples aplicaciones de trabajo en
los mismos datos, el sistema
tiene que tener algunos mecanismos, una vez más,
para garantizar que los datos se mantiene consistentes.
Que no tiene, por ejemplo,
la mitad de un elemento de datos
sobrescrito por una sola persona y
la otra mitad sobrescrita por otro.
Así que hay mecanismos de base de datos
sistemas llamados control de concurrencia.
Y la idea es
que controlamos la forma que varios usuarios acceder a la base de datos.
Ahora no controlarla por
sólo tener un usuario han
acceso exclusivo a la base de datos
o podría ralentizarse considerablemente el rendimiento.
Por lo que el control se produce realmente en
el nivel de los elementos de datos en la base de datos.
Muchos usuarios podrían estar funcionando
en la misma base de datos pero ser
funcionamiento de los elementos de datos individuales diferentes.
Es un poco similar
a, digamos, concurrencia de sistema de archivos o
incluso variable concurrencia en programas,
excepto que más se centra en los datos en sí.
El adjetivo siguiente es comodidad, y
la comodidad es realmente uno de los
características de los sistemas de base de datos.
Realmente están diseñados para hacer
es fácil trabajar con grandes
cantidades de datos y
realizar el procesamiento muy poderoso e interesante sobre esos datos.
Así que es una pareja niveles en que esto ocurre.
Existe una noción en bases de datos llamados independencia de datos físicos.
Es el tipo de un bocado, pero
lo está diciendo es
la forma en que los datos son realmente
almacena y establecidos
disco es independiente de la
forma que programas pensar acerca de la estructura de los datos.
Por lo que podría tener un programa que
opera sobre una base de datos y
debajo de allí podría ser un
cambio en la
los datos se almacenan, aún de manera
el programa en sí no tendría que ser cambiado.
Por lo tanto las operaciones en el
datos son independientes de la manera que los datos se establece.
Y algo relacionado con
es la noción de lenguajes de alto nivel consulta.
Por lo tanto, son las bases de datos
normalmente cuestionada por idiomas
son relativamente compacta
para describir, realmente en un
¿Qué información desea que la base de datos de nivel muy alto.
Específicamente, ellos obedecerán a un
noción que se llama declarativa, y lo que
declarativa está diciendo es
en la consulta, describen
lo que quiere de la
base de datos pero no es necesario
para describir el algoritmo
obtener los datos de salida, y es una característica muy agradable.
Le permite escribir consultas
una forma muy simple y entonces
el propio sistema encontrará
el algoritmo de sacar esos datos eficientemente.
Y hablando de eficiencia, que
número seis, pero ciertamente no
sexto importancia. Hay
bienes raíces como un poco
Aparte, un viejo dicho
que cuando tienes un pedazo de
propiedad, las tres más importantes
son aspectos de la propiedad
la ubicación de la propiedad, la ubicación y la ubicación.
Y la gente dice lo mismo
lo de las bases de datos, similar
broma paralelo, que es el
tres cosas más importantes en
un sistema de base de datos es la primero
rendimiento, rendimiento segundo y nuevo rendimiento.
Por lo tanto tienen sistemas de base de datos
hacer realidad miles de consultas
o actualizaciones por segundo.
No son simples consultas necesariamente.
Estos pueden ser muy complejas operaciones.
Por lo tanto, construir un
sistema de base de datos, que puede ejecutar
consultas, consultas complejas, en las
tasa sobre gigantescas cantidades de
es de terabytes de datos de datos, no
es tarea sencilla y
una de las principales características también, siempre
por un sistema de gestión de base de datos.
Y por último, pero nuevamente no modificada en importancia es la confiabilidad.
Una vez más, mirando hacia decir
el sistema bancario o sus telecomunicaciones
sistema, es sumamente importante
que son todo el tiempo.
Así 99.99999% tiempo
es el tipo de garantía
sistemas de gestión de base de datos están haciendo para sus aplicaciones.
Por lo nos da una idea
de todas las cosas buenísimo que proporciona un sistema de base de datos.
Espero que esté todo listo para el convencimiento de que
Si tiene una aplicación
queremos construir que incluye datos, se
sería genial tener todos
estas características proporcionan para usted en un sistema de base de datos.
Permítanme citar algunos
de los aspectos que rodean la base de datos
sistemas y alcance un poco
poco de lo que vamos a estar cubriendo en este curso.
Cuando las personas construcción aplicaciones de base de datos,
a veces los programa con lo que se conoce como marco.
En la actualidad en el momento de
Este video, algunas de las
Marcos populares son Django
o Ruby on Rails y estos
son entornos que le ayudan a
desarrollar sus programas y ayudar a
Puedes generar, dicen las llamadas
el sistema de base de datos. Estamos
no, en este conjunto de
vídeos, va a estar hablando
acerca de los marcos, pero más bien somos
va a estar hablando de los datos
sistema de base y cómo se utiliza y proporciona.
Segundo lugar, son sistemas de base de datos
a menudo se utiliza en combinación con lo que se conoce como middle-ware.
Una vez más, en el momento de esto
vídeo, típico middle-ware podría
servidores de aplicaciones, servidores web,
por lo tanto ayuda esta middle-ware
aplicaciones interactúan con la base de datos
sistemas en ciertos tipos de formas.
Una vez más, es una especie de fuera del ámbito del curso.
Que no hablando de middleware en el curso.
Por último, no es el
caso que todas las aplicaciones que
implica necesariamente datos utiliza
el sistema de base de datos, por lo que históricamente,
se ha almacenado una gran cantidad de datos
en los archivos, creo que es un poco menos hasta estos días.
Aún así, hay un montón de datos que hay que simplemente está sentado en los archivos.
Hojas de cálculo Excel es otro
dominio donde hay mucho
de datos sentado por ahí, y
resulta útil en ciertos aspectos y la
procesamiento de datos no es siempre
realiza a través de lenguajes de consulta relacionados con los sistemas de base de datos.
Por ejemplo, Hadoop es
un marco de procesamiento para la ejecución
operaciones en los datos que se almacenan en archivos.
Una vez más, en este conjunto de
vídeos nos vamos a centrar
en el sistema de administración de base de datos
sí y sobre cómo almacenar
y explotación de datos a través de un sistema de gestión de base de datos.
Por lo tanto existen cuatro conceptos clave que vamos a cubrir por ahora.
El primero es el modelo de datos.
El modelo de datos es un
Descripción de, en general, cómo los datos está estructurados.
Uno de los más comunes
modelos de datos es el punto relacional
modelo de datos, dedicaremos un poco de tiempo en eso.
En el modelo de datos relacionales
los datos y la base de datos es considerado como un conjunto de registros.
Ahora otra manera popular
por ejemplo, están el almacén de datos
en los documentos XML, por lo tanto, un XML
documento de captura de datos, en su lugar
de un conjunto de registros, como un
estructura jerárquica, de valores etiquetados.
Otro modelo de datos posibles
sería un modelo de datos de gráfico o
todos los datos en la base de datos es en forma de nodos y bordes.
De nuevo, es un modelo de datos
indica la forma general de
datos que se van a almacenar en la base de datos.
A continuación es el concepto de esquema de datos.
Uno puede pensar de este tipo
de como tipos y variables en un lenguaje de programación.
Configura el esquema
la estructura de la base de datos.
Tal vez voy a tener información acerca de
estudiantes con IDs y
GPA, o cerca de colegios,
y sólo va a contar
me la estructura de la base de datos
donde los datos están la real
datos almacenados dentro del esquema.
Una vez más, en un programa
configurar los tipos y, a continuación
Hay variables de esos tipos te
configurar un esquema y entonces
Tenemos un montón de datos que se adhiere a ese esquema. 294 00:10:32,94 --> 00:10:34,60 Normalmente se establece el esquema
hasta el comienzo y no cambia
mucho donde los datos cambian rápidamente.
Ahora para definir el esquema,
normalmente uno utiliza lo que se conoce como un lenguaje de definición de datos.
A veces personas utilizan el diseño de nivel superior
herramientas que les ayudan a pensar
sobre el diseño y, a continuación, en
ir allí para el lenguaje de definición de datos.
Pero en general sirve para configurar
un esquema o estructura de una base de datos determinada.
Una vez que se ha establecido el esquema
y se ha cargado datos, a continuación
es posible iniciar la consulta
y modificación de los datos y
que normalmente se hace con lo que de
conocido como el lenguaje de manipulación de datos,
así que para consultar y modificar la base de datos.
Muy bien, así que estos son algunos de los conceptos claves
seguramente nos vamos a meter
con mucho más detalle en videos posteriores sobre cada uno de estos conceptos.
Ahora hablemos de la
personas que participan en un sistema de base de datos. Por lo tanto
la primera persona voy mencionamos
es la persona que implementa el
sistema de base de sí mismo, el implementador de base de datos.
Que es la persona que construye el
sistema, que no va a ser el foco de este curso.
Vamos a centrarnos más en
los tipos de cosas que son
realizado por las otras tres personas que voy a describir.
El siguiente es el diseñador de bases de datos.
Por lo que el diseñador de bases de datos es el
persona que establece el esquema
base de datos.
Así, vamos a suponer que tenemos una aplicación.
Sabemos que va a ser un
muchos datos implicados en la
aplicación y queremos
averiguar cómo nos estamos va a estructurar
que los datos antes de construir
la aplicación. Ese es el trabajo del diseñador de bases de datos.
Es un trabajo difícil sorprendentemente
Cuando tienes una muy compleja
datos en una aplicación.
Una vez que haya establecido la
estructura de la base de datos
entonces es el momento de construir la
las aplicaciones o programas que
se van a ejecutar el
base de datos, a menudo interconexión entre
el usuario final y la
datos de la misma y
el trabajo de los desarrolladores de aplicaciones
por lo que son los programas que funcionan sobre la base de datos.
Y otra vez he mencionado ya
que puede tener una base de datos
con muchos programas diferentes que operan en él, ser muy común.
Por ejemplo, usted podría tener un
ventas de bases de datos en algunas aplicaciones
en realidad se está insertando las ventas
que se van produciendo, mientras que otros están analizando las ventas.
Por lo tanto no es necesario tener
un acoplamiento uno a uno entre programas y bases de datos.
Y la última persona es el administrador de base de datos.
Por lo que el administrador de base de datos es el
persona que carga los datos,
tipo de obtiene toda la cosa que ejecuta y mantiene funcionando sin problemas.
Por lo tanto, realmente activa
fuera a ser un trabajo muy importante
para aplicaciones de bases de datos grandes.
Para bien o para mal, base de datos de sistemas
tienden a tener un
número de parámetros de ajuste
asociados con ellos y cada vez
los parámetros de ajuste adecuados puede
hacer una diferencia significativa en la
toda la performance del sistema de base de datos importante.
Por lo que son los administradores de bases de datos
en realidad, muy valorado, muy importante, muy
de hecho, pagado
y son para grandes implementaciones,
una persona importante en todo el proceso.
Por lo que son aquellas personas que
participan, nuevamente, en este
clase en que nos va centrando principalmente
Diseño y desarrollo de aplicaciones,
un poquito sobre administración, pero en
General pensando en bases de datos y
el uso de sistemas de gestión de base de datos
desde la perspectiva del usuario y application builder.
Para terminar, vamos a
ser aprender acerca de las bases de datos y si
lo saben o no no eres
ya con una base de datos cada día.
De hecho, más probabilidad que los no
utiliza una base de datos cada hora.