Module_3 Creating Databases and Database Objects - Esp

download Module_3 Creating Databases and Database Objects - Esp

of 33

Transcript of Module_3 Creating Databases and Database Objects - Esp

  • 7/25/2019 Module_3 Creating Databases and Database Objects - Esp

    1/33

    Brian Alderman | MCT, CEO / Founder ofMicroTechPoint

    Pete Harris | Microsoft Senior Content Publisher

    atabase Fundamentals

  • 7/25/2019 Module_3 Creating Databases and Database Objects - Esp

    2/33

    Meet Brian Alderman |!brianalderman

    Chief E"ecuti#e O$ce, Founder MicroTechPoint%ndustr&'reco(ni)ed consultant*oted author and conference s+eaerBrian-s e"+ertise and desi(ns ran(e across Microsofto+eratin( s&stems

    More than . &ears of industr& e"+erience

    Brian has been focused on hel+in( %T Pros and atabase Administrators 0BAs1better understand core Microsoft technolo(ies for o#er . &ears2A fre3uent +resenter at SharePoint Conferences around the 4orld, he has authoredor contributed to se#eral SharePoint, S56 Ser#er, and other technical boos, and is aMCSE, MCT, and MC%TP7 SharePoint and S56 Ser#er Administrator2Brian has a BS and MS in Com+uter %nformation S&stems 4here he (raduatedsumma cum laude from 8e(is 9ni#ersit& of Colorado S+rin(s and li#es in Scottsdale,A: 4here he en;o&s +la&in( (olf &ear round and tra#elin( around the 4orld2

    6ined%n

    /brianalderman

    Blo(

    htt+7//brianalderman24ord+ress2com

  • 7/25/2019 Module_3 Creating Databases and Database Objects - Esp

    3/33

    Meet Pete Harris | !S56Pete

    Content e#elo+ment Mana(er in Microsoft-s6earnin( E"+eriences team

    Focuses on S56 Ser#er and

  • 7/25/2019 Module_3 Creating Databases and Database Objects - Esp

    4/33

    Course Modules

    atabase Fundamentals> | %ntroducin( core database conce+ts 0 minutes1 e@ne databases, e"am+le of relational database tables, and introduce common database

    terminolo(&

    . | 8elational Conce+ts 0 minutes1*ormali)ation, referential inte(rit&, and constraints

    03 | Creating databases and database objects (50 minutes)Data types, database objects, DDL statements, and creating scripts

    | 9sin( M6 statements 0 minutes1M6 statements, usin( the SE6ECT statement usin( %*SE8T, 9PATE, and E6ETE to mana(e datainde"es and tri((ers

    | S56 Ser#er Administration Fundamentals 0 minutes1S56 Ser#er securit& securin( database and ob;ects +erformin( database bacu+s and databaserestores

  • 7/25/2019 Module_3 Creating Databases and Database Objects - Esp

    5/33

    Click to editMaster subtitlestyle

    D | Creacin de bases de datos &

    ob;etos de base de datos

    Brian Alderman | MCT, CEO / Founder ofMicroTechPoint

    Pete Harris | Microsoft Senior Content Publisher

  • 7/25/2019 Module_3 Creating Databases and Database Objects - Esp

    6/33

    6os ti+os de datosob;etos de base de datos

    sentencias 6

    escri+cin (eneral del mdulo

  • 7/25/2019 Module_3 Creating Databases and Database Objects - Esp

    7/33

    6os ti+os de datos

  • 7/25/2019 Module_3 Creating Databases and Database Objects - Esp

    8/33

    6os ti+os de datos

    9n tipo de datos es un atributo 3ue es+eci@ca el ti+o dedatos 3ue un ob;eto +uede contener, as como el nGmero deb&tes de informacin 3ue se +ueden almacenar en el ob;eto2

    Si usted tiene los ti+os de datos similares +ara ele(ir, +ero

    slo se diferencian en el tamao en b&tes, utilice el ti+o dedatos 3ue tiene una (ama mIs am+lia de #alores & / o tieneuna ma&or +recisin2

    6os ti+os de datos numJricos e"actos 0int, tin&int1 son los ti+os

    de datos de S56 Ser#er mIs comunes 3ue se utili)an +araalmacenar informacin numJrica2

    *umJricos a+ro"imados inclu&en +recisin 0P1 3ue es elnGmero total de d(itos decimales 3ue +odra ser almacenada,

    tanto a la i)3uierda & derecha de la coma decimal2

  • 7/25/2019 Module_3 Creating Databases and Database Objects - Esp

    9/33

    6os ti+os de datosTi+os de datos 9nicode +ro+orcionan almacenamiento de caracteres

    internacionales, como el ;a+onJs & el chino, +ara 3ue las em+resasde todo el mundo 3ue utili)an los +roductos de bases de datos(randes +ro#eedores +ara almacenar sus datos2

    Ti+os de datos 9nicode lle#a mIs b&tes +ara almacenar los datos en

    la base de datos

    Si usted tiene los ti+os de datos similares +ara ele(ir, +ero slo sediferencian en el tamao en b&tes, utilice el ti+o de datos 3ue tieneuna (ama mIs am+lia de #alores & / o tiene una ma&or +recisin

    6os ti+os de datos numJricos e"actos 0int, tin&int1 son los ti+os dedatos de S56 Ser#er mIs comunes 3ue se utili)an +ara almacenarinformacin numJrica2

    *umJricos a+ro"imados inclu&en +recisin 0P1 3ue es el nGmero total

    de d(itos decimales 3ue +odra ser almacenada, tanto a la i)3uierda& derecha de la coma decimal2

  • 7/25/2019 Module_3 Creating Databases and Database Objects - Esp

    10/33

    Construido en las cate(oras de ti+osde datos

    Ti+os de datos incor+orados en S56 Ser#er de .>. seor(ani)an en las si(uientes cate(oras7

    *umJricos e"actos ' 0bi(int, bit, decimal, int, mone&,numeric, smallint1

    *umJricos a+ro"imados 0Koat, real1Fecha & hora 0date, datetime., datetime, datetimeoLset,time16as cadenas de caracteres 0char, #archar, te"t1Cadenas de caracteres 9nicode 0nchar, nte"t n#archar1

    Cadenas binarias 0binar&, #arbinar&, ima(e1Otros ti+os de datos 0cursor, timestam+, uni3ueidenti@er,table1

    Ti+os de datos de #alor (rande 0#archar 0ma"1, n#archar0ma"11

    randes ti+os de datos de ob;etos 0te"t, nte"t, ima(e, "ml1

  • 7/25/2019 Module_3 Creating Databases and Database Objects - Esp

    11/33

    6os Ti+os de atos

    Money- acostumbrado donde almacenarlos valores del dinero o moneda.

    Int - utilizado para almacenar nmeros

    enteros y la hora de realizar clculosmatemticos.

    Float - de uso comn en la comunidad

    cientfca y se considera un tipo de datosaproximada-nmero.

    Datetime- se utiliza para los valores deecha y hora tienda en uno de los muchos

    ormatos dierentes.

  • 7/25/2019 Module_3 Creating Databases and Database Objects - Esp

    12/33

    6os Ti+os de atos

    Char - tipo de datos de longitud fjacadena no Unicode donde n defne lalongitud de la cadena

    Varchar- longitud variable de cadena noUnicode tipo de datos ue indica eltama!o de almacenamiento real de losdatos

    Bit (Boolean) - nmero entero uepuede tener un valor nulo" # $also% o &$verdadero% 'alor

    DATETIMEOFFSET - una echa

  • 7/25/2019 Module_3 Creating Databases and Database Objects - Esp

    13/33

    Tamao de almacenamiento Ti+os dedatos

    Data ype !se"Description #torage #i$e

    Mone& Monetar& or currenc& #alues'?..,DDN,.D,,NN2 to?..,DDN,.D,,NN2N

    b&tes

    %nt %nte(er data from '.QD> 0'.,>N,D,1 to .QD>'>0.,>N,D,N1

    b&tes

    Float A++ro"imate number ' >2N?ERD to '.2.DE'D,

    and .2.DE'D to >2N?ERD

    e+ends on

    the #alue of natetime ate 8an(e anuar& >, >ND, throu(h ecember D>,

    ???? Time 8an(e 77 throu(h .D7?7?2??N b&tes

    Char Fi"ed'len(th, non'9nicode strin( data2 Can be a #aluefrom > throu(h ,

    nb&tes

    archar ariable'len(th non'9nicode strin(2 Can be a #aluefrom > throu(h ,

    Actual len(thR . b&tes

    Bit %nte(er 4ith a #alue of or >2 > b&te fore#er& bitcolumns

    atetimeoLset ate ran(e anuar& >,> A22 throu(h ecember D>,???? A22 Time ran(e 77 throu(h.D7?7?2???????

    Time )one oLset ran(e '>7 throu(h R>7

    > B&tes

  • 7/25/2019 Module_3 Creating Databases and Database Objects - Esp

    14/33

    6as con#ersiones im+lcitas &e"+lcitas%m+lcitas las con#ersiones de ti+os de datos se +roduce cuando ele#aluador de e"+resiones S56 Ser#er con#ierte automIticamente losdatos de un ti+o de datos a otro +ara com+letar una o+eracin comouna com+aracin de dos #alores

    E"+lcitos con#ersiones de ti+os de datos re3uieren el uso de la

    funcin CO*E8T o CAST +ara con#ertir datos de un ti+o de datos aotro antes de una o+eracin como una com+aracin se +uedecom+letar2

    Para con#ertir un #alor numJrico en una cadena de caracteresCast0U >N2.N AS A8CHA8 0>11

    *o se admiten todos los ti+os de datos con#ersionesnc%arno +uede ser con#ertido a la image

    9tilice CAST lu(ar de CO*E8T +ara adherirse a la norma %SO

    9tilice CO*E8T en lu(ar de CAST +ara a+ro#echar la funcionalidadde estilo

  • 7/25/2019 Module_3 Creating Databases and Database Objects - Esp

    15/33

    ob;etos de base de

    datos

  • 7/25/2019 Module_3 Creating Databases and Database Objects - Esp

    16/33

    Tablas

    9na tablaes una coleccin de @las & columnas 3ue se utili)an +araor(ani)ar la informacin sobre un solo tema2 Cada @la dentro de unatabla corres+onde a un Gnico re(istro & contiene #arios atributos 3uedescriben la @la2

    &mployee'D Lastame irstame Department

    > Smith Bob %T

    >> ones Susan Maretin(

    >. Adams ohn Finance

  • 7/25/2019 Module_3 Creating Databases and Database Objects - Esp

    17/33

    istas

    9na *istaes sim+lemente una tabla #irtual 3ue consiste endiferentes columnas de una o mIs tablas2

    A diferencia de una tabla, una #ista se almacena en la base de datoscomo un ob;eto de consulta, +or lo tanto, un +unto de #ista es unob;eto 3ue obtiene sus datos de una o mIs tablas sub&acentes2

  • 7/25/2019 Module_3 Creating Databases and Database Objects - Esp

    18/33

    6os +rocedimientos almacenados

    9n procedimiento almacenado es un con;unto de instruccionesTransact'S56 3ue se han com+ilado & (uardado +or lo 3ue se +uedee;ecutar #arias #eces2

    Es +osible +asar +arImetros a & de#ueltos desde un +rocedimientoalmacenado +ara 3ue +uedan ser reutili)ados con diferentes #alores2

    %F 0!5uantit&Ordered V 0SE6ECT 5uantit&OnHand F8OM %n#entor&

  • 7/25/2019 Module_3 Creating Databases and Database Objects - Esp

    19/33

    Funciones de@nidas +or el usuario

    Funciones defnidas or el usuario (!DF) son rutinas ue se llevaa cero o ms parmetros" se completa una operaci(n" y devuelven elresultado de la operaci(n como un valor.

    )ay tres tipos de unciones*

    +calar - devuelve un solo valor de datos,able valued- devuelve un tipo de datos de la tabla

    +istem - roporcionado por +/ +erver" no se puede modifcar

  • 7/25/2019 Module_3 Creating Databases and Database Objects - Esp

    20/33

    Princi+ales diferencias entre los+rocedimientos almacenados & funciones

    de@nidas +or el usuarioProcedimientos almacenados6lamado de forma inde+endiente mediante sentencia EXEC*o +uede usar O%* a los +rocedimientos almacenadosSe +uede utili)ar +ara modi@car la con@(uracin de S56 Ser#erPuede utili)ar las funciones no deterministas como ETATE 01

    Funciones de@nidas +or el usuario6lamado desde dentro de otra sentencia S56Pueden usar O%* 9F de*o se +uede utili)ar +ara modi@car la con@(uracin de S56

    Ser#erSiem+re se detiene la e;ecucin de cdi(o T'S56, si se +roduce

    un error

  • 7/25/2019 Module_3 Creating Databases and Database Objects - Esp

    21/33

    Con#enios de denominacin +ara losob;etos+ascalCase' 6a +rimera letra del identi@cador & la+rimera letra de las si(uientes +alabrasconcatenadas, se ca+itali)a

    Em+lo&eeTable

    camelCase' 6a +rimera letra del identi@cador esminGscula & la +rimera letra de las si(uientes+alabras concatenadas se ca+itali)a

    Em+lo&eeTable

    Consejo Eli(e una con#encin de nomenclatura &uso consistente en todo su entorno de base dedatos

  • 7/25/2019 Module_3 Creating Databases and Database Objects - Esp

    22/33

    Crear una base de datosClassemoB

    emo

  • 7/25/2019 Module_3 Creating Databases and Database Objects - Esp

    23/33

    Sentencias 6

  • 7/25/2019 Module_3 Creating Databases and Database Objects - Esp

    24/33

    C8EATE ' de@nir nue#as entidadesA6TE8 ' modi@car las entidades e"istentes

    8OP ' eliminar entidades e"istentes

    Sentencias 6 comunes

  • 7/25/2019 Module_3 Creating Databases and Database Objects - Esp

    25/33

    sentencia C8EATE

    Se utili)a +ara crear nue#as entidades en S56Ser#er, inclu&endo al(unas de las entidades mIscomunes

    atabase Procedure

    Table Tri((erefault ie4%nde" 9ser6o(in 8ole

    C8EATE ATABASE Sales O* 0 *AME W SalesYdat, F%6E*AME WZC7[Pro(ram Files[Microsoft S56Ser#er[MSS56>>2MSS56SE8E8[MSS56[ATA[sales2mdfZ, S%:E W >,MAXS%:E W , F%6E8O>2MSS56SE8E8[MSS56[ATA[salelo(2ldfZ, S%:E WMB, MAXS%:E W .MB, F%6E8O

  • 7/25/2019 Module_3 Creating Databases and Database Objects - Esp

    26/33

    Crear nue#a tabla

    9SE SA6ESO

    ''Create ne4 table called ProductsC8EATE TAB6E dbo2Products>0 Product% int *966, Product*ame #archar0.1 *966, 9nitPrice mone& *966, Productescri+tion #archar01 *9661

  • 7/25/2019 Module_3 Creating Databases and Database Objects - Esp

    27/33

    sentencia A6TE8

    Se usa +ara modi@car las entidades e"istentes enS56 Ser#er inclu&endo

    atabase Tri((erTable ie4

    %nde" 9ser6o(in 8oleProcedure Schema

    A6TE8 ATABASE SalesModif& *ame W SalesForecast

  • 7/25/2019 Module_3 Creating Databases and Database Objects - Esp

    28/33

    sentencia 8OP

    Se utili)a +ara eliminar las entidades e"istentes enS56 Ser#er inclu&endo

    atabase Tri((erTable ie4

    %nde" 9ser6o(in 8oleProcedure Schema

    8OP ATABASE SalesForecast

  • 7/25/2019 Module_3 Creating Databases and Database Objects - Esp

    29/33

    Creacin de ob;etos de S56

    Ser#er & la (eneracin desecuencias de comandos

    emo

  • 7/25/2019 Module_3 Creating Databases and Database Objects - Esp

    30/33

    8esumen

    9n tipo de datos es un atributo 3uees+eci@ca el ti+o de datos 3ue un ob;eto+uede contener

    6os ti+os de datos inte(rados se clasi@canen las si(uientes cate(oras7 E"act numerics

    A++ro"imate numericsate and timeCharacter strin(s9nicode character strin(sBinar& strin(sOther data t&+es6ar(e #alued data t&+es6ar(e ob;ect data t&+es

  • 7/25/2019 Module_3 Creating Databases and Database Objects - Esp

    31/33

    8esumen

    9na base de datos se +uede crear utili)andoSSMS o usar el T'S56 C8EATE ATABASE

    Ob;etos de base de datos como tablas,#istas, +rocedimientos almacenados &funciones de@nidas +or el usuario se +uedencrear utili)ando SSMS o utili)ando un 6C8EATE

    Ob;etos de base de datos se deben crearconstantemente utili)ando el PascalCase ocamelCase con#encin de nomenclatura

  • 7/25/2019 Module_3 Creating Databases and Database Objects - Esp

    32/33

    8esumen

    El +ro+sito de una tablaes +ro+orcionar laestructura +ara el almacenamiento de datosdentro de una base de datos relacional2

    9na *istaes una tabla #irtual 3ue consisteen columnas de una o mIs tablas & sealmacena en la base de datos como unob;eto de consulta

    9n procedimiento almacenado es uncon;unto de instrucciones Transact'S56 3uese han com+ilado & (uardado +or lo 3ue se+ueden e;ecutar #arias #eces2

    6os scri+ts +ueden ser creados a +artir de

  • 7/25/2019 Module_3 Creating Databases and Database Objects - Esp

    33/33

    -.0/3 Microsot Corporation1 2ll rig%ts reser*ed1 Microsot, indo4s, 6ce, 2$ure, #ystem Center, Dynamics and ot%er product names areor may be registered trademarks and"or trademarks in t%e !1#1 and"or ot%er countries1 %e inormation %erein is or inormational purposesonly and represents t%e current *ie4 o Microsot Corporation as o t%e date o t%is presentation1 7ecause Microsot must respond to

    c%anging market conditions, it s%ould not be interpreted to be a commitment on t%e part o Microsot, and Microsot cannot guarantee t%eaccuracy o any inormation pro*ided ater t%e date o t%is presentation1 M'C8# M29 2882', &:+8#, 'M+L'&D 8