A Gentle Introduction to

SQL


Pick an engine:

Dressmaker databasegoogleBase de datos de la modista

Graduated questions

ER diagram for the Dressmaker database:googleER diagrama para la base de datos de la modista:

Entity relation diagram er4

SQL Source for the databasegoogleFuente del SQL para la base de datos

Some sample queriesgoogleAlgunas preguntas de la muestra

0a The "central" table in this database is googleThe "central" table in this database is order_linegoogleorder_line - every garment ordered takes one line in this table. Many of the fields in this table are references to other tables. The fields of this table have the following meaning: google- cada ropa pidió tomas una línea en esta tabla. Muchos de los campos en esta tabla son referencias a otras tablas. Los campos de esta tabla tienen el significado siguiente:
order_refgoogleorder_ref
This is a link to the dress_order table. We can join the dress_order table to find information such as the the date of the order and the customer number for a given garment order.googleEsto es un acoplamiento a la tabla del dress_order. Podemos ensamblar la tabla del dress_order a la información del hallazgo tal como el fecha de la orden y el número del cliente para una orden dada de la ropa.
line_nogoogleline_no
The line number is used to distinguish different items on the same order - for example order number 5 has three lines - 1, 2 and 3.googleEl número de la línea se utiliza para distinguir diversos artículos en la misma orden - por ejemplo pedido número 5 tiene tres líneas - 1, 2 y 3.
ol_stylegoogleol_style
Indicates the article of clothing ordered. For example ol_style 1 indicates trousers - we can see this by joining to the garments table. Line 1 in the garment table is trousers. googleIndica el artículo de la ropa pedido. Por ejemplo el ol_style 1 indica los pantalones - podemos ver esto ensamblando a la ropa la tabla. La línea 1 en la tabla de la ropa es pantalones.
ol_sizegoogleol_size
The size of the item ordered is given here - this is particularly important when it comes to working out how much material is required to build the item. We can see from the quantities table that trousers (style 1) in size 8 takes 2.7 meters - whereas trousers in size 12 needs 2.8 meters. googleEl tamaño del artículo pedido se da aquí - esto es particularmente importante cuando viene a resolverse cuánto material se requiere para construir el artículo. Podemos ver de la tabla de las cantidades que los pantalones (el estilo 1) de tamaño 8 toma 2,7 metros - mientras que los pantalones de tamaño 12 necesitan 2,8 metros.
ol_materialgoogleol_material
Each order specifies the material to be used. We can join to the material table to find a description or cost per meter. Material 1 is Silk, Black, Plain costing googleCada orden especifica el material que se utilizará. Podemos ensamblar a la tabla material para encontrar una descripción o un coste por el metro. El material 1 es seda, negro, el costar del llano £7 per meter. google7 por el metro.

0b A sample join: googleUna muestra ensambla:

In order to translate the numbers in order_line into meaningful values we need to join a related table. For example if we want to access the descriptions of the materials we need to join the material table. googlePara traducir los números en order_line a valores significativos que necesitamos ensamblar una tabla relacionada. Por ejemplo si deseamos tener acceso a las descripciones de los materiales necesitamos ensamblar la tabla material.

To achieve the join we include the table material on the FROM line and the join condition as a WHERE clause. googlePara alcanzar el ensamblar incluimos el material de la tabla en de línea y de la condición del unido como DONDE cláusula.

For each pair of tables there is a join condition between them (if they are linked). To find the join condition between order_line and material we look at the order_line table CREATE statement and notice the line that specifies that ol_material references the material table. This link will always be to the primary key of material table.googlePara cada par de tablas hay una condición del unido entre ellas (si se ligan). Para encontrar la condición del unido entre el order_line y el material miramos la tabla del order_line CREAMOS la declaración y notamos la línea que especifica que las referencias ol_material la tabla material. Este acoplamiento estará siempre a la llave primaria de la tabla material.

CREATE TABLE order_line (
  order_ref	INTEGER	NOT NULL REFERENCES dress_order
 ,line_no	INTEGER	NOT NULL
 ,ol_style	INTEGER	REFERENCES garment
 ,ol_size	INTEGER	NOT NULL
 ,ol_material	INTEGER	REFERENCES material
 ,PRIMARY KEY (order_ref, line_no)
 ,FOREIGN KEY (ol_style, ol_size) REFERENCES quantities
 );

0c To get a description of the garment we need to join the garment table. The join condition is that the ol_style in order_line matches the style_no in garment. googlePara conseguir una descripción de la ropa que necesitamos ensamblar la tabla de la ropa. La condición del unido es que el ol_style en order_line empareja el style_no en la ropa.

0d If we need both the description and the fabric we can join both material and garment to the order_line table. The join conditions are combined with "AND" googleSi necesitamos la descripción y la tela podemos ensamblar el material y la ropa a la tabla del order_line. Las condiciones del unido se combinan con "Y"

0e The quantities table tells us how much material is required for every garment for every size available. The join between the order_line and quantities is unusual in that it involves two fields. This can be seen by the fact that quantities has a composite key. googleLa tabla de las cantidades nos dice cuánto material se requiere para cada ropa para cada tamaño disponible. El ensamblar entre el order_line y las cantidades es inusual en que implica dos campos. Esto se puede ver por el hecho de que las cantidades tienen una llave compuesta.

0f Customers place orders - each order contains many lines - each line of the order grefers to a garment: googleEl lugar de los clientes pide - cada orden contiene muchas líneas - cada línea de los grefers de la orden a una ropa: