¿Qué es exactamente una base de datos y cuáles son las diferencias entre varias bases de datos? ¡Sólo explícalo brevemente!
Mssql es el servidor SQL de Microsoft, que se ejecuta en Windows 2000, 2003 y otras plataformas.
Mysql es un servidor de base de datos de código abierto que puede ejecutarse en plataformas Windows y Unix\\linux. Su versión estándar es gratuita, por lo que puedes visitar www.mysql.com.
Asp\\php es sólo un lenguaje interpretado. No es necesario que mssql no pueda usar php, y mysql no necesariamente necesita usar php, pero asp-mssql y php-mysql son combinaciones comunes.
Manual Completo de Base de Datos SQL_1
SQL es la abreviatura de Structured Query Language. SQL es un conjunto de comandos de operación creados especialmente para bases de datos y es un lenguaje de base de datos completamente funcional. Al usarlo, solo necesita emitir el comando "qué hacer", y "cómo hacerlo" no está dentro del alcance de la consideración del usuario. SQL es potente, fácil de aprender y usar y se ha convertido en la base para las operaciones de bases de datos. Ahora casi todas las bases de datos admiten SQL.
##1 2. Arquitectura de datos de la base de datos SQL
La arquitectura de datos de la base de datos SQL es básicamente una estructura * * *, pero la terminología utilizada es diferente de la terminología del modelo relacional tradicional. En SQL, el esquema relacional se denomina "tabla base"; el esquema de almacenamiento (esquema interno) se denomina "archivo de almacenamiento"; el subesquema (esquema externo) se denomina "vista"; El atributo se llama Lista. Este nombre es tan simétrico como ^00100009a^:
##1 3. La composición del lenguaje SQL
Antes de aprender formalmente el lenguaje SQL, primero tenemos una comprensión básica del lenguaje SQL. Presente la composición del lenguaje SQL:
1. Una base de datos SQL es una colección de tablas definidas por uno o más esquemas SQL.
2. Una tabla SQL consta de un conjunto de filas. Una fila es una serie (un conjunto de) columnas, cada columna corresponde a un elemento de datos.
3. La tabla puede ser una tabla básica o una vista. Una tabla base es la tabla que realmente está almacenada en la base de datos, mientras que una vista es una definición de una tabla que consta de varias tablas base u otras vistas.
4. Una tabla básica puede abarcar uno o más archivos de almacenamiento, y un archivo de almacenamiento también puede almacenar una o más tablas básicas. Cada archivo de almacenamiento corresponde al último archivo físico en el almacenamiento externo.
5. Los usuarios pueden utilizar sentencias SQL para consultar vistas y tablas básicas. Desde la perspectiva del usuario, la vista y la tabla base son iguales, no hay diferencia. Todas son relaciones (tablas).
6.Los usuarios de SQL pueden ser aplicaciones o usuarios finales. Las declaraciones SQL se pueden integrar en programas en lenguajes host como FORTRAN, COBOL, PASCAL, PL/I, C y Ada. En un entorno interactivo, SQL User también se puede utilizar como una interfaz de usuario independiente para los usuarios finales.
##1 Cuarto, operar la base de datos
SQL incluye todas las operaciones en la base de datos. La base de datos consta principalmente de cuatro partes:
1. Esta parte también se llama "SQL DDL" y define la estructura lógica de la base de datos, incluida la definición de la base de datos, tablas básicas, vistas e índices.
2. Operación de datos: esta parte también se llama "SQL DML" e incluye dos operaciones: consulta de datos y actualización de datos. Incluye tres operaciones: inserción, eliminación y actualización.
3. Control de datos: El control del acceso de los usuarios a los datos incluye autorización de tablas y vistas básicas, descripción de reglas de integridad, declaraciones de control de transacciones, etc.
4. Reglas para el uso del lenguaje SQL incorporado: reglas para el uso de sentencias SQL en programas en lenguaje anfitrión.
Los presentaremos por separado a continuación:
##2 (1) Definición de datos
La función de definición de datos SQL incluye la definición de bases de datos, tablas básicas, índices y vistas. .
En primer lugar, echemos un vistazo a los tipos de datos básicos proporcionados por SQL: (como ^00100009b^).
Creación y eliminación de una base de datos
.(1) Crear una base de datos: una base de datos es un conjunto de datos que contiene varias tablas básicas. Su formato de declaración es:
Crear base de datos ltnombre de la base de datos>[Otros parámetros]
Entre. ellos, en el sistema debe ser Único y no puede repetirse, de lo contrario provocará errores de acceso a los datos. [Otros parámetros] varían según el sistema de implementación de base de datos específico.
Por ejemplo: para establecer una base de datos de gestión de proyectos (xmmanage), la declaración debe ser:
Crear base de datos xmmanage
(2) Eliminar base de datos: Eliminar de la Base de Datos del sistema y todo su contenido.
El formato de la declaración es: eliminar base de datos
Ejemplo: para eliminar la base de datos de gestión de proyectos (xmmanage), la declaración debe ser:
Eliminar base de datos xmmanage
p>
2. Definición y modificación de tablas básicas
Una tabla que existe de forma independiente se denomina tabla básica. En el lenguaje SQL, una relación sólo corresponde a una tabla básica. La definición de tablas básicas se refiere al establecimiento de patrones de relación básicos, y los cambios se refieren a la eliminación y modificación de tablas básicas existentes en la base de datos.
(1) Definición de tabla básica: la tabla básica es una relación no exportada y su definición implica el nombre de la tabla, el nombre de la columna, el tipo de datos, etc. El formato de la declaración es:
Crear tabla "ltdatabase name>. 〳lt; nombre de la tabla>
( ltcolumn name>tipo de datos [valor predeterminado] [no nulo/nulo]
の, lt nombre de columna> tipo de datos [valor predeterminado] [no nulo/nulo]]...
[, ÚNICO(nombre de columna [, nombre de columna] ... )]
[, clave principal].
[, clave externa (nombre de columna [, nombre de columna]...) referencia (nombre de lista [, nombre de lista]. .. ................................................. ............. ................................................. ................................ ...................... ................................................. ....... ......
[, verificar (condición)][otros parámetros])
Donde, > indica que la tabla recién creada se almacenará en la base de datos; p>
La tabla recién creada consta de dos partes: una parte es la tabla y un conjunto de nombres de columnas, y la otra parte son los datos almacenados reales (es decir, al definir la tabla, los datos se pueden almacenar directamente en la tabla);
Los nombres de las columnas están definidos por el usuario y son fáciles de entender, y no se pueden usar espacios en los nombres de las columnas;
Los tipos de datos son los diversos tipos de datos estándar introducidos arriba;
p>
[[NOT NULL/NULL] indica si la columna puede almacenar valores nulos. El llamado valor nulo es un valor "desconocido" o "sin sentido". Lenguaje SQL. Los datos "0" y los espacios no son valores nulos. El sistema generalmente permite valores nulos de forma predeterminada, por lo que cuando no se permiten valores nulos, debe usar explícitamente no nulo;
[ , UNIQUE organiza las columnas en el orden especificado. Si no se especifica el orden de clasificación, las columnas se organizan en el orden definido;
[Clave principal] se utiliza para especificar la clave principal de la tabla (es decir). es decir, el atributo principal de la relación).
Las restricciones de integridad de la entidad estipulan que la clave principal debe ser única y no vacía;
[, la clave externa (nombre de columna [, nombre de columna]...) se refiere a (nombre de columna [, nombre de columna]. .) con Para especificar restricciones de integridad referencial de clave externa, la clave externa especifica la columna relevante como clave externa y su objeto de referencia es la columna especificada de otra tabla, es decir, la columna en la apariencia introducida por la referencia. Si no se especifica ningún nombre de columna externo, el sistema utiliza de forma predeterminada el mismo nombre de columna que la clave de referencia. Cabe señalar que cuando se utilizan claves externas, se deben utilizar referencias y las referencias de claves externas deben restringir la integridad de otros datos.
[, check] se utiliza para verificar los datos almacenados en la tabla bajo condiciones específicas para determinar su legalidad y mejorar la seguridad de los datos.
Ejemplo: Crear un alumno.
Crear tabla de estudiante //Crear una tabla de estudiante básica.
(st_class CHAR(8), //Defina la columna ST_classclass, el tipo de datos es una cadena de longitud fija de 8 bits.
St_no CHAR(10) NOT NULL, // Definición El número de estudiante de la columna St_no es una cadena de longitud fija de 10 dígitos, no vacía.
St_namechar (8) no está vacía //Defina el nombre de la columna ST_name, que es un 8. Cadena de longitud fija de dígitos, no vacía.
St_sex CHAR(2), //Define el género de la columna St_sex, el tipo es una cadena de longitud fija de 2 dígitos.
St_age SMALLINT, //Define el género de la columna St_age. Edad, el tipo es un entero corto
Clave principal (st_no))//Define el número de estudiante st_no como clave principal.
Ejemplo: Crear una tabla de configuración de curso (tema)
Crear tema de tabla //Crear un tema de tabla básico.
(su_no CHAR(4) NOT NULL, //define el número de clase de la columna su_no, que es una cadena de longitud fija de 4 dígitos, no vacía.
Su _ sujetochar (20) no está vacío, //define el nombre del curso de la columna su_subject, que es una cadena de longitud fija de 20 dígitos, no vacía
Su_credit INTEGER, //define la columna de Su_credit. crédito, el tipo es entero largo. p>
Su_period INTEGER, //Al definir la columna Su_period, el tipo es entero largo
Su_preno CHAR(4), //Definir el número de Su_preno CHAR. , que es una cadena de longitud fija de 4 dígitos.
PRIMARY KEY(su_no))//Defina el número de clase su_no como clave principal.
Ejemplo: Crear tabla de selección de cursos para estudiantes (puntuaciones)
Crear tabla de puntuaciones //Crear tabla de puntuaciones básica.
(st_no CHAR(10), //Defina el número de estudiante de la columna st_no, el tipo es una cadena de longitud fija de 10 dígitos.
Su_no CHAR(4), // Definir la columna Su_no El número de clase es una cadena de longitud fija de 4 dígitos
Sc_score entero nulo, //definir la columna sc_score, entero largo, puede ser NULL. La clave externa (st_no. ) se refiere al estudiante, //Introduce la clave externa ST_no de la tabla estudiante para garantizar la asociación y sincronización entre esta tabla y la tabla del estudiante.
La clave externa (suno) se refiere a la. sujeto) // Introduce desde el asunto de la tabla. Haga referencia a la clave externa su_no para garantizar la asociación y sincronización entre esta tabla y el asunto de la tabla.
(2) Eliminar tabla básica: Se utiliza para eliminar una tabla básica y todo su contenido de la base de datos. Su formato de oración es:
DROP TABLE" lt; nombre de la base de datos>. ]Nombre de la tabla
Por ejemplo, elimine todas las tablas creadas anteriormente.
Estudiantes, materias, puntuaciones
(3) Modificación de la tabla básica: una vez establecida y utilizada la tabla básica por un período de tiempo, es posible que sea necesario modificar la estructura de la tabla básica. para modificarlo de acuerdo con las necesidades reales, es decir, agregar un nuevo atributo o eliminar el atributo.
El formato de la declaración utilizada para agregar atributos es:
Cambiar tabla "ltdatabase name>.]Nombre de tabla agregado
(ltcolumn name>tipo de datos [ valor predeterminado][no nulo/nulo]
の, nombre de la columna lt>tipo de datos [valor predeterminado][no nulo/nulo]]......
[, ÚNICO(nombre de columna[, nombre de columna]...)]
[, clave principal
[, clave externa(nombre de columna[, nombre de columna].. .) Referencia(nombre de lista[,nombre de lista].................................... ........................................................ ....................... ........................... ........................................ ............ ............
[, check(condition)][otros parámetros])
Por ejemplo, agregue la fecha de nacimiento de la columna stborn a la tabla básica estudiante El tipo de datos es FECHA y no puede ser nulo
Cambiar la tabla estudiante para agregar (la fecha de nacimiento no está vacía)
Eliminar el atributo. El formato de la declaración es:
Cambiar tabla "ltdatabase name>.]Eliminar nombre de tabla
(ltcolumn name>tipo de datos [valor predeterminado][no vacío/nulo] p>
の, lt nombre de la columna>tipo de datos [valor predeterminado] [no nulo/nulo]]...)
Por ejemplo, elimine la columna st_age en la tabla básica estudiante
Cambiar tabla de eliminación de estudiantes (st_age)
3. Definición y eliminación de vistas
En SQL, la vista es la unidad básica de la estructura de datos de nivel 1 del esquema externo. se compone de a. O las tablas derivadas de varias tablas básicas son "tablas especiales" extraídas de tablas básicas existentes y proporcionadas a los usuarios. Este método de construcción debe implementarse mediante la instrucción SELECT en SQL, solo la definición se almacena en el sistema. datos, y los datos correspondientes de la vista no se almacenan directamente. Los datos correspondientes no se obtienen hasta que el usuario usa la vista.
(1) La definición de la vista: la vista se puede definir usando. la declaración CREATE VIEW Para lograr esto, el formato de la declaración es:
Crear el nombre de la vista como una declaración SELECT
Exportar la vista desde la tabla básica:
Crear vista WOMANVIEW como //Crear vista WOMANVIEW
SELECT st_class, st_no, st_name, st_age //Seleccionar. las columnas st_class para mostrar, st_no, st_name, st_age.
De estudiante//Introducción de la tabla básica estudiante
Donde st_sex = 'female'//La condición de introducción es que el género sea 'femenino'. Tenga en cuenta que todas las variables de caracteres están entre comillas simples.
Exportar vistas desde múltiples tablas base:
Por ejemplo, una vista que contiene solo alumnas con puntuaciones superiores a 60 proviene de las tablas base estudiante y puntuación.
CREATEVIEW WOMAN_SCORE AS //Definir vista WOMANSCORE.
SELECT Student.st_class, Student.st_no, Student.st_name, Student.st_age, Score.sc_score //Muestra selectivamente las columnas relevantes.
DESDE Student.score //Introducido desde las tablas básicas Student y Score.
Donde Student.st_sex='female' y Score.sc_score gt= 60 y Student. ST_no = puntuación ST_no//Criterios de selección: el género es "femenino", puntuación superior a 60 puntos. Y use st_no para vincular las dos tablas.
Si aplicas esta vista en el futuro, simplemente usa la declaración.
SELECT * FROM WOMAN_SCORE //Donde "*" es un carácter comodín que representa todos los elementos.
(2) Eliminar vista: Se utiliza para eliminar vistas que ya no se utilizan. El formato de la declaración es el siguiente:
Eliminar nombre de vista de vista
Ejemplo: eliminar la vista WOMAN_SCORE creada anteriormente.
DROP VIEW WOMAN_SCORE
4. Definición y eliminación de índices
Los índices son conceptos de almacenamiento físico, no conceptos lógicos. En SQL, se abandona el concepto de índice y se utiliza directamente el concepto de clave primaria. Vale la pena mencionar que algunos DBMS relacionales contienen tanto un mecanismo de índice como un mecanismo de clave primaria. Aquí se recomienda el mecanismo de clave principal porque consume menos recursos del sistema y es más eficiente.
(1) Definición del índice: el índice se basa en la tabla básica y su formato de declaración es:
Cree un nombre de índice [único] en
でlt ; Nombre de la base de datos > Nombre de la tabla (Nombre de columna [ASC/DESC] [, Nombre de columna [ASC/DESC]]...
La palabra reservada ÚNICA aquí significa que el valor del índice en la tabla básica no se permite repetir, si es el valor predeterminado, significa que los valores de índice en la tabla pueden repetirse, DESC significa ordenar en orden descendente por clave de índice, y si es predeterminado o ASC significa ordenar; en orden ascendente,
Ejemplo: Ordene la tabla básica estudiante en orden ascendente y descendente respectivamente. Indexada por st_no y st_age, el valor del índice no se puede repetir.
Cree un índice único STINDEX. on // Crear índice STINDEX.
Student(st_no ASC, st_age DESC) //Indexar st_no y st_age in.
(2) Eliminar índice:
Eliminar nombre del índice
Ejemplo: Eliminar el índice STINDEX creado anteriormente
Descartar índice STINDEX
##2 (2) Consulta de datos
SQL es un lenguaje con potentes capacidades de consulta. Siempre que los datos existan en la base de datos, siempre se pueden pasar. El método apropiado es buscarlos en la base de datos. Solo hay una declaración de consulta en SQL: SELECT. , que puede completar todas las funciones de consulta. La sintaxis completa de la instrucción SELECT puede ser la siguiente:
Seleccione un nombre de columna o una colección de expresiones de columna para la tabla de destino.
Desde la tabla base o (y) conjunto de vistas
[[WHERE expresión condicional]
[[Agrupar por conjunto de nombres de columnas]
[[Con expresión condicional de grupo]]
[[ORDER BY nombre de columna[conjunto]...]
La semántica de toda la declaración es la siguiente: columnas del Cláusula FROM De la tabla, seleccione las tuplas que satisfacen la expresión condicional dada en la cláusula WHERE, luego agrúpelas de acuerdo con los valores de las columnas especificadas en la cláusula GROUPBY (cláusula de agrupación) y luego extraiga los grupos en HAVING cláusula que satisface Aquellos grupos de expresiones condicionales que evalúan la salida en función de los nombres de columna o las expresiones de columna proporcionadas en la cláusula SELECT. La cláusula ORDER (cláusula de clasificación) reordena la tabla de destino de salida y se le puede agregar ASC (orden ascendente) o DESC (orden descendente).