1 / 18

Bancos de Dados

Bancos de Dados. SQL Server 2012 Tipos de Dados e Tabelas. Tipos de Dados Padrão. Numérico Inteiro Numérico exato Numérico aproximado Monetário Data e Hora Caracter e Caracter Unicode Binário. Tipos de Dados SQL Server x ANSI. Tipos de Dados SQL Server x ANSI (cont.).

Download Presentation

Bancos de Dados

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Bancos de Dados SQL Server 2012 Tipos de Dados e Tabelas

  2. Tipos de Dados Padrão • Numérico • Inteiro • Numéricoexato • Numéricoaproximado • Monetário • Data e Hora • Caractere CaracterUnicode • Binário

  3. Tipos de Dados SQL Server x ANSI

  4. Tipos de Dados SQL Server x ANSI (cont.)

  5. Tabelas - Criação • Comando CREATE TABLE • Estruturageral:

  6. Tabelas - Criação • Doisbilhões de tabelaspor database. • 1.024 colunasportabela. • 8060 bytes per linha (não se aplicaaostipos de dados image, text, ntext, varchar(max), varbinary (max)) • Sempreespecificar NULL ou NOT NULL – Nãoconfiar em defaults!

  7. Tabelas – Sintaxe do Create Table CREATE TABLE table_name column_name data type[COLLATE<collation_name>] [NULL | NOT NULL] | column_nameAS computed_column_expression [,….n]

  8. Tabelas - Informação • Exec sp_help <nome da tabela> • System views: sys.tablese sys.columns • Exemplo: UseAdventureWorks2012; SELECTt.nameAStable_name,SCHEMA_NAME(schema_id)AS'schemaname', c.nameAScolumn_name FROMsys.tablesASt INNERJOINsys.columnscONt.OBJECT_ID=c.OBJECT_ID WHEREt.name='Employee' ORDERBYSCHEMA_NAME(schema_id),table_name,c.name;

  9. Tabelas e Colunas – Nomenclatura • Nome de tabelassempre no singular • Nãousaracentosoucaracteresespeciais • Nome colunas (campos) sempreprefixadospelonome da tabela e um _ (underscore) • Usarnotação Pascal para nome de colunas e tabelas EX: CREATE TABLE dbo.Cliente ( Cliente_Codigo : int identity not null, Cliente_Nome : varchar (100) not null, Cliente_EstadoCivil : char (1) null … )

  10. Tabelas – Deleção • Comando: DROP TABLE • Exemplo: UseTesteDB; DropTabledbo.Clientes;

  11. Tabelas – Adicionando e Excluindocolunas Comando : ALTER TABLE

  12. Tabelas – Adicionando e Excluindocolunas • Adicionandoumacoluna: O tipo de informaçãosuprida é similar àquelasupridanacriação da tabela: ALTERTABLECategoriesNew ADDCommissionmoneynull • Excluindoumacoluna (nãopodeserdesfeita): ALTERTABLECategoriesNew DROPCOLUMNSales_date Importante: Todosos indices e restrições de integridadebaseadosnacolunaa serexcluidadeverãoserpreviamenteremovidos.

  13. Tabelas – Gerandovaloresautomaticamente • UsarpropriedadeIDENTITY (auto incremento) • SóumacolunaIdentityportabela • EspecificarIDENTITY (seed, incremento) ou o default (1,1) seráusado. • Use somenteinteger, numeric, e decimal Exemplo: USETesteDB; CREATETABLEdbo.Pessoa (Pessoa_IDintIDENTITY(100, 5)NOTNULL, Pessoa_Nomevarchar(160)NOTNULL, Pessoa_Telefonevarchar(20)NULL);

  14. Tabelas – Gerandovaloresautomaticamente • Obtenhainformaçãoatravés de IDENT_SEED and IDENT_INCR Exemplo: USETesteDB; SELECTIDENT_SEED('dbo.Pessoa')ASIdentity_Seed; SELECTIDENT_INCR('dbo.Pessoa')ASIdentity_Seed; • Use @@identity para achar o valor maisrecenteinserido Exemplo: INSERT INTO dbo.Pessoa (Pessoa_Nome, Pessoa_Telefone) Values ('José da Silva', '27-3245-5556'); Select @@IDENTITY

  15. Tabelas – Gerandovaloresautomaticamente Exemplocompleto: USETesteDB; ifobject_id('dbo.Pessoa')isnotnull Droptabledbo.Pessoa CREATETABLEdbo.Pessoa (Pessoa_IDintIDENTITY(100, 5)NOTNULL, Pessoa_Nomevarchar(160)NOTNULL, Pessoa_Telefonevarchar(20)NULL); SELECTIDENT_SEED('dbo.Pessoa')ASIdentity_Seed; SELECTIDENT_INCR('dbo.Pessoa')ASIdentity_Seed; INSERTINTOdbo.Pessoa(Pessoa_Nome,Pessoa_Telefone)Values('José da Silva','27-3245-5556'); Select@@IDENTITY INSERTINTOdbo.Pessoa(Pessoa_Nome,Pessoa_Telefone)Values('Claudia dos Santos','27-3245-5566'); Select@@IDENTITY Exemplo: USEAdventureWorks2012; SELECTIDENT_SEED('Person.Address')ASIdentity_Seed; SELECTIDENT_INCR('Person.Address')ASIdentity_Seed; • Use @@identity para determinar o valor maisrecenteinserido Exemplo:

  16. Exercícios 1. Criar em TesteDBumatabela para armazenamento de Clientes de umalojacontendoos dados maiscomuns, como Nome, Endereço, Cidade, Estado, CEP, Telefone(s), CPF, etc. Decidasobrequaistipos de dados utilizar e tambémsobresuanulabilidade. A primeiracolunadeveráarmazenar um códigoúnico para o cliente com numeraçãoautomática.

  17. Exercícios 2. Criarem TesteDBumatabela para armazenamentodos Produtos de umalojacontendoos dados maiscomuns, comoDescrição, DescriçãoResumida, Preço de Referencia, Quantidade em estoque, Código UPC, Imagem, etc. Decidasobrequaistipos de dados utilizare tambémsobresuanulabilidade. A primeiracolunadeveráarmazenar um códigoúnico para o produtosemnumeraçãoautomática.

  18. Links Úteis • Tipos de dados: http://msdn.microsoft.com/pt-br/library/ms187752.aspx • Create table: http://msdn.microsoft.com/pt-br/library/ms174979.aspx • Sys.columns : http://technet.microsoft.com/en-us/library/ms176106.aspx • Sys.Tables: http://technet.microsoft.com/en-us/library/ms187406.aspx • Alter Table: http://msdn.microsoft.com/pt-br/library/ms190273.aspx • IDENTITY: http://msdn.microsoft.com/pt-br/library/ms186775.aspx

More Related