SQL: Crear la base de datos #sql, #dbms, #modello #relazionale, #relazione, #database, #foreign #key, #publication, #author, #person, #publisher, #institution, #thesis, #jdbc, #odbc, #esql, #code, #default, #postgresql, #gratis, #gratuito, #free, #corso, #guida, #elemento, #creazione, #


#

Crear la base de datos

Una base de datos en un sistema relacional estпїЅ compuesta por un conjunto de tablas, que corresponden a las relaciones del modelo relacional. En la terminologпїЅa usada en SQL no se alude a las relaciones, del mismo modo que no se usa el tпїЅrmino atributo, pero sпїЅ la palabra columna, y no se habla de tupla, sino de lпїЅnea. A continuaciпїЅn se usarпїЅn indistintamente ambas terminologпїЅas, por lo que tabla estarпїЅ en lugar de relaciпїЅn, columna en el de atributo y lпїЅnea en el de tupla, y viceversa.
PrпїЅcticamente, la creaciпїЅn de la base de datos consiste en la creaciпїЅn de las tablas que la componen. En realidad, antes de poder proceder a la creaciпїЅn de las tablas, normalmente hay que crear la base de datos, lo que a menudo significa definir un espacio de nombres separado para cada conjunto de tablas. De esta manera, para una DBMS se pueden gestionar diferentes bases de datos independientes al mismo tiempo sin que se den conflictos con los nombres que se usan en cada una de ellas. El sistema previsto por el estпїЅndar para crear los espacios separados de nombres consiste en usar las instrucciones SQL “CREATE SCHEMA”. A menudo, dicho sistema no se usa (o por lo menos no con los fines y el significado previstos por el estпїЅndar), pero cada DBMS prevпїЅ un procedimiento propietario para crear una base de datos. Normalmente, se amplпїЅa el lenguaje SQL introduciendo una instrucciпїЅn no prevista en el estпїЅndar: “CREATE DATABASE”.
La sintaxis empleada por PostgreSQL, pero tambiпїЅn por las DBMS mпїЅs difundidas, es la siguiente:

CREATE DATABASE nombre_base de datos

Con PostgreSQL estпїЅ a disposiciпїЅn una orden invocable por shell Unix (o por shell del sistema usado), que ejecuta la misma operaciпїЅn:

createdb nombre_base de datos

Para crear nuestra base de datos bibliogrпїЅfica, usaremos pues la orden:

Una vez creada la base de datos, se pueden crear las tablas que la componen. La instrucciпїЅn SQL propuesta para este fin es:

CREATE TABLE nombre_tabla (
nombre_columna tipo_columna [ clпїЅusula_defecto ] [ vпїЅnculos_de_columna ]
[. nombre_columna tipo_columna [ clпїЅusula_defecto ] [ vпїЅnculos_de_columna ]. ]
[. [ vпїЅnculo_de tabla]. ] )

nombre_columna. es el nombre de la columna que compone la tabla. SerпїЅa mejor no exagerar con la longitud de los identificadores de columna, puesto que SQL Entry Level prevпїЅ nombres con no mпїЅs de 18 caracteres. ConsпїЅltese, de todos modos, la documentaciпїЅn de la base de datos especпїЅfica. Los nombres tienen que comenzar con un carпїЅcter alfabпїЅtico.

tipo_columna. es la indicaciпїЅn del tipo de dato que la columna podrпїЅ contener. Los principales tipos previstos por el estпїЅndar SQL son:

  • CHARACTER(n)
    Una cadena de longitud fija con exactamente n caracteres. CHARACTER se puede abreviar con CHAR
  • CHARACTER VARYING(n)
    Una cadena de longitud variable con un mпїЅximo de n caracteres. CHARACTER VARYING se puede abreviar con VARCHAR o CHAR VARYING.

  • INTEGER
    Un nпїЅmero estero con signo. Se puede abreviar con INT. La precisiпїЅn, es decir el tamaпїЅo del nпїЅmero entero que se puede memorizar en una columna de este tipo, depende de la implementaciпїЅn de la DBMS en cuestiпїЅn.

  • SMALLINT
    Un nпїЅmero entero con signo y una precisiпїЅn que no sea superior a INTEGER.

  • FLOAT(p)
    Un nпїЅmero con coma mпїЅvil y una precisiпїЅn p. El valor mпїЅximo de p depende de la implementaciпїЅn de la DBMS. Se puede usar FLOAT sin indicar la precisiпїЅn, empleando, por tanto, la precisiпїЅn por defecto, tambiпїЅn пїЅsta dependiente de la implementaciпїЅn. REAL y DOUBLE PRECISION son sinпїЅnimo para un FLOAT con precisiпїЅn concreta. TambiпїЅn en este caso, las precisiones dependen de la implementaciпїЅn, siempre que la precisiпїЅn del primero no sea superior a la del segundo.

  • DECIMAL(p,q)
    Un nпїЅmero con coma fija de por lo menos p cifras y signo, con q cifras despuпїЅs de la coma. DEC es la abreviatura de DECIMAL. DECIMAL(p) es una abreviatura de DECIMAL(p,0). El valor mпїЅximo de p depende de la implementaciпїЅn.

  • INTERVAL
    Un periodo de tiempo (aпїЅos, meses, dпїЅas, horas, minutos, segundos y fracciones de segundo).

  • DATE, TIME y TIMESTAMP
    Un instante temporal preciso. DATE permite indicar el aпїЅo, el mes y el dпїЅa. Con TIME se pueden especificar la hora, los minutos y los segundos. TIMESTAMP es la combinaciпїЅn de los dos anteriores. Los segundos son un nпїЅmero con coma, lo que permite especificar tambiпїЅn fracciones de segundo.

  • clпїЅusula_defecto. indica el valor de defecto que tomarпїЅ la columna si no se le asigna uno explпїЅcitamente en el momento en que se crea la lпїЅnea. La sintaxis que hay que usar es la siguiente:

    donde valor es un valor vпїЅlido para el tipo con el que la columna se ha definido.

    vпїЅnculos_de_columna. son vпїЅnculos de integridad que se aplican a cada atributo concreto. Son:

    • NOT NULL, que indica que la columna no puede tomar el valor NULL.
    • PRIMARY KEY, que indica que la columna es la llave primaria de la tabla.
    • una definiciпїЅn de referencia con la que se indica que la columna es una llave externa hacia la tabla y los campos indicados en la definiciпїЅn. La sintaxis es la siguiente:

    Las clпїЅusulas ON DELETE y ON UPDATE indican quпїЅ acciпїЅn hay que ejecutar en el caso en que una tupla en la tabla referenciada sea eliminada o actualizada. De hecho, en dichos casos en la columna referenciante (que es la que se estпїЅ definiendo) podrпїЅa haber valores inconsistentes. Las acciones pueden ser:

    • CASCADE: eliminar la tupla que contiene la columna referenciante (en el caso de ON DELETE) o tambiпїЅn actualizar la columna referenciante (en el caso de ON UPDATE).
    • SET DEFAULT: asignar a la columna referenziante su valor de defecto.
    • SET NULL: asignar a la columna referenciante el valor NULL.
  • un control de valor, con el que se permite o no asignar un valor a la columna en funciпїЅn del resultado de una expresiпїЅn. La sintaxis que se usa es:

    donde expresiпїЅn_condicional es una expresiпїЅn que ofrece verdadero o falso.
    Por ejemplo, si estamos definiendo la columna COLUMNA1, con el siguiente control:

    CHECK ( COLUMNA1 1000 )

    en dicha columna se podrпїЅn incluir sпїЅlo valores inferiores a 1000.

  • vпїЅnculo_de_tabla. son vпїЅnculos de integridad que se pueden referir a mпїЅs columnas de la tabla. Son:

    • la definiciпїЅn de la llave primaria:

    PRIMARY KEY ( columna1 [. columna2. ] ) VпїЅase que en este caso, a diferencia de la definiciпїЅn de la llave primaria como vпїЅnculo de columna, пїЅsta se puede formar con mas de un atributo.

  • las definiciones de las llaves externas:

    FOREIGN KEY ( columna1 [. columna2. ] ) definiciones_de_referencia

    La definiciпїЅn_de_referencia tiene la misma sintaxis y significado que la que puede aparecer como vпїЅnculo de columna.

  • un control de valor, con la misma sintaxis y significado que el que se puede usar como vпїЅnculo de columna.

  • Para aclarar mejor el uso de la instrucciпїЅn CREATE TABLE, veamos algunas пїЅrdenes que implementan la base de datos bibliogrпїЅfica ejemplificada.

    CREATE TABLE Publication (
    ID INTEGER PRIMARY KEY,
    type CHAR(18) NOT NULL
    );

    La instrucciпїЅn anterior crea la tabla Publication, formada por las dos columna ID de tipo INTEGER, y type de tipo CHAR(18). ID es la llave primaria de la relaciпїЅn. En el atributo type hay un vпїЅnculo de no nulidad.

    CREATE TABLE Book (
    ID INTEGER PRIMARY KEY REFERENCES Publication(ID),
    title VARCHAR(160) NOT NULL,
    publisher INTEGER NOT NULL REFERENCES Publisher(ID),
    volume VARCHAR(16),
    series VARCHAR(160),
    edition VARCHAR(16),
    pub_month CHAR(3),
    pub_year INTEGER NOT NULL,
    note VARCHAR(255)
    );

    Crea la relaciпїЅn Book, formada por nueve atributos. La llave primaria es el atributo ID, que es tambiпїЅn una llave externa hacia la relaciпїЅn Publication. Sobre los atributos title, publisher y pub_year hay vпїЅnculos de no nulidad. AdemпїЅs, el atributo publisher es una llave externa hacia la tabla Publisher.

    CREATE TABLE Author (
    publicationID INTEGER REFERENCES Publication(ID),
    personID INTEGER REFERENCES Person(ID),
    PRIMARY KEY (publicationID, personID)
    );

    Crea la relaciпїЅn Author, compuesta por dos atributos: publicationID y personID. La llave primaria en este caso estпїЅ formada por la combinaciпїЅn de los dos atributos, como estпїЅ indicado por el vпїЅnculo de tabla PRIMARY KEY. PublicationID es una llave externa hacia la relaciпїЅn Publication, mientras que personID lo es hacia la relaciпїЅn Person.

    El archivo create_biblio.sql contiene todas las пїЅrdenes necesarias para crear la estructura de la base de datos bibliogrпїЅfica ejemplificada.

    NOTA SOBRE POSTGRESQL
    En PotgreSQL, por lo menos hasta la versiпїЅn 6.5.1, no se han implementado todavпїЅa los vпїЅnculos sobre las llaves externas. El parser acepta, de todos modos, las sintaxis SQL que le afectan, y por tanto los constructos FOREIGN KEY y REFERENCES no producen un error, sino sпїЅlo un warning.


    Creating an Email Blast #andrew #duck,awebber,aweber,best #dimensions #to #make #email #blast,blast #companies,building #an #email #blast #template,building #blast #email #templates,can #i #create #an #eblast #in #word,can #you #use #word #doc #for #email #blast,cari #adams,cintia #nunes,constant #contact,crafting #a #email #blast,create #a #email,create #a #email #blast,create #a #simple #e #blast #in #ms #word,create #an #eblast #in #word,create #an #email #blast #in #word,create #e-mail #blast #with #links,create #eblast #from #word #document,create #email #blast #using #word #2010,create #email #blast #with #link,creating #an #e #mail #blast #template,creating #an #eblast #in #word,creating #an #email #blast,creating #an #email #blast, #filetype:pdf, #filetype:ps, #filetype:dwf, #filetype:kml, #filetype:kmz, #filetype:xls, #filetype:ppt, #filetype:doc, #filetype:rtf, #filetype:swf,creating #an #email #blast #database,creating #an #email #blast #from #a #webpage,creating #an #email #blast #in #outlook,creating #e #blasts,creating #e #blasts #with #links,creating #e-blasts #from #microsoft #word,creating #eblast #in #word,creating #eblasts #using #microsoft #word,creating #email #blast #in #microsoft #word,creating #email #blasts, #filetype:pdf, #filetype:ps, #filetype:dwf, #filetype:kml, #filetype:kmz, #filetype:xls, #filetype:ppt, #filetype:doc, #filetype:rtf, #filetype:swf,creating #email #blasts #for #your #company,creating #email #blasts #with #outlook,death #valley,design #a #email #blast #in #microsoft,design #an #email #blast,designing #an #email #blast,designing #an #email #blast #in #word,designing #email #blast,dimension #for #email #blast,dimensions #for #email #blast,e #blast #template #size,eblast #template #for #word,eblast #templates #ms #word,eblast #using #microsoft #word,ecommerce #email #blast #template,email #blast,email #blast #companies,email #blast #create #template #online,email #blast #creating,email #blast #design #dimensions,email #blast #dimensions?,email #blast #email #formatting #free,email #blast #how-to #word,email #blast #in #microsoft #word,email #blast #promotion,email #blast #server,email #blast #servers,email #blast #template,email #blast #template #format #ms #word,email #blast #template #outlook #2010,email #blast #templates,email #blast #templates #in #word #free,email #blast #templates #microsoft,email #blast #test #online #outlook,email #blasts,email #blasts #free,email #marketing,email #providers,emails,fairfield #inn,formatting #an #e #blast #in #word,free #email,free #email #blast,free #email #blast #template,free #email #blast #templates,free #email #blast #templates #in #micosoft #word,free #email #blast #templates #in #word,holster,how #create #email #blast,how #to #create #a #blast #email #in #word,how #to #create #a #eblast #from #word,how #to #create #a #eblast #in #word,how #to #create #a #email #blast #promotion,how #to #create #a #email #blast #server,how #to #create #a #email #blast #template #in #word,how #to #create #an #eblast,how #to #create #an #eblast #template,how #to #create #an #email #blast,how #to #create #an #email #blast #in #word,how #to #create #an #email #blast #page,how #to #create #and #email #blast,how #to #create #blast #emails,how #to #create #curaytor #email #blast,how #to #create #different #email #blast #in #outlook #2010,how #to #create #eblast #in #microsoft #outlook,how #to #create #email #blast #microsoft #word,how #to #create #email #blast #template,how #to #create #email #blasts #from #scratch,how #to #create #own #email #blast,how #to #create #wonderful #eblast #with #word #doc,how #to #design #an #email #blast,how #to #develop #a #email #blast #series,how #to #do #an #e #blast #from #word,how #to #do #your #own #email #blasts,how #to #eblast #a #word #document,how #to #format #an #eblast #email,how #to #generate #an #email #blast,how #to #make #a #design #for #a #email #blast,how #to #make #a #email #blast,how #to #make #an #eblast #in #word,how #to #make #an #eblast, #social,how #to #make #an #email #blast,how #to #make #email #blast,how #to #make #email #blast #with #live #links,how #to #make #word #into #e-blast,how #to #reate #an #email #blst #template,how #to #send #eblast #in #word,launching #eblasts #with #microsoft #outlook,le #meridien #hotels,liver #damage #keflex,mail #blast,mail #blast #server,make #email #blast #from #microsoft #word,making #a #mail #blast,microsoft #outlook #email #blasts,microsoft #word #e-mail #blast #templates,olympic #airways,omni #hotels,popular #email #blast,product #email #blasts #format,publisher #e-mail #blast #template,raul #trambitas,send #eblast #from #outlook,send #email #blasts #free,shamlin,size #to #make #free #email #blasts,streamsend,swf #email #blast,tap #air #portugal,terry #canny,top #email #service,top #email #service #providers?,tripadvisor,unique #email #blasts,use #word #to #make #a #email #blast #template,virgin #atlantic,what #size #do #you #design #an #email #blast #at?,what #size #to #design #an #email #blast,word #2010 #email #blast #template,word #e-blasts


    #

    Creating an Email Blast

    Creating an email blast to market your products to your email list can be very easy or very hard. The difference is found in your email service provider.

    If you are able to basic formatting in MS Word, you will probably be able to use and modify email blast templates to create a unique email blast on your own.

    Reputable email service providers will have dozens of templates and an easy to use interface where you can craft your message. Once your message is ready, most email providers have a tool that will help you upload your list and schedule your send.

    We advise all clients to sign up with multiple email blast companies and create test email blast campaigns in order to find out which one is the easiest to use. Below you will find links to get a free trial from top email service providers. All of the email blast companies below have great support and are very user friendly.

    Remember, with all online marketing, you have only seconds to capture the attention of your prospects. By keeping your design viewable with out scrolling, you will increase response rates.

    Create your email blast today – Free Trial (use links below)

    Sign up for a free trial with the most popular email service providers. Send a few email blasts for free through each email company, then keep the one that works best for you.

    Each of the email blast companies below offers a free trial where you can send your free email blast. We’ve ranked them with the largest free email blast first.

    Free Email Blast Promotion

    1. StreamSend – We prefer StreamSend over all the others. Their setup is easy to use, intuitive and not very expensive. We prefer StreamSend because they charge based on emails sent, not the size of your list. This is important for people who might send once or twice a month.
    2. Awebber – A great platform for people who want to try their hand at marketing automation – where you create a email sales campaign and then send on a time delay (ex. 1 email per day for 7 days.) Awebber charges based on the size of your list, so they may be a good choice if you plan on sending once a week or more.
    3. GetResponse – For marketers looking for more than just an email service provider, GetResponse provides multi-media email blast capabilities, cross-channel tracking and automation, GetResponse may be for you. Not quite as easy to use as StreamSend, but more features. If you want to combine email marketing with social marketing and video, then GetResponse has the tools to do the job.

    Link to this article

    If you find this article valuable please share it on your blog or website with this code:

    Be Sociable, Share!