Nuno_Martins Posted August 20, 2009 at 05:48 PM Report #283963 Posted August 20, 2009 at 05:48 PM Quando se cria uma BD no MySQL Command Line Client, para onde é que essa BD vai? Ou seja, através do explorador do windows onde é que eu a posso encontrar? Não sei se é util mas estou a usar o MySQL Server 5.1 Cumps. EDIT: Ver post mais abaixo
Nuno_Martins Posted August 22, 2009 at 07:03 PM Author Report #284199 Posted August 22, 2009 at 07:03 PM Ninguém consegue dar uma ajudinha? 😉 Tenho mais outra questão. Conhecem algum site onde eu possa fazer downloads de BDs MySQL onde seja possível ver o código usado ? Nada de muito complexo. Eu quero fazer umas BDs para mim e queria ver alguns exemplos primeiro.
bruno1234 Posted August 22, 2009 at 07:17 PM Report #284203 Posted August 22, 2009 at 07:17 PM Podes usar este site, dá a possibilidade de exportar dados de teste para criares uma tabela e preenche-la. http://www.generatedata.com/ Matraquilhos para Android. Gratuito na Play Store. https://play.google.com/store/apps/details?id=pt.bca.matraquilhos
Nuno_Martins Posted August 23, 2009 at 12:23 AM Author Report #284237 Posted August 23, 2009 at 12:23 AM Obrigado bruno1234, foi uma boa ajuda 😉 Entretanto comecei a fazer uma BD. Esta BD tem o objectivo de inserir todos os livros que tenho cá em casa. É coisa simples (penso eu). Decidi dividir a coisa em duas tabelas, uma para os livros de informática, outra para os livros de literatura. Tabela de livros de informática: CREATE TABLE livros_inf ( inf_id TINYINT AUTO_INCREMENT PRIMARY KEY, inf_titulo VARCHAR(50) NOT NULL, inf_categoria VARCHAR(20) NOT NULL, inf_autor VARCHAR(50) NOT NULL, inf_coleccao VARCHAR(20), inf_edicao TINYINT, inf_ano YEAR NOT NULL, inf_isbn VARCHAR(20) NOT NULL UNIQUE, inf_n_paginas INT NOT NULL, inf_tipo_capa VARCHAR(15) NOT NULL, inf_descricao TEXT ); Tabela de livros de literatura: CREATE TABLE livros_lit ( lit_id TINYINT PRIMARY KEY AUTO_INCREMENT, lit_titulo VARCHAR(50) NOT NULL, lit_categoria VARCHAR(20) NOT NULL, lit_autor VARCHAR(50) NOT NULL, lit_coleccao VARCHAR(20), lit_edicao TINYINT, lit_ano YEAR NOT NULL, lit_isbn VARCHAR(20) NOT NULL UNIQUE, lit_n_paginas INT NOT NULL, lit_tipo_capa VARCHAR(15) NOT NULL, lit_descricao TEXT ); Ainda só fiz um insert: INSERT INTO livros_inf (inf_titulo, inf_categoria, inf_autor, inf_coleccao, inf_edicao, inf_ano, inf_isbn, inf_n_paginas, inf_tipo_capa) VALUES ('LINUX', 'Sistemas Operativos', 'Fernando Pereira', 'Curso Completo', 5, '2005', '978-972-722-489-0', 611, 'Capa Mole'); 1 - Gostava que no geral comentassem e criticassem as tabelas; 2 - Como podem ver nesse insert eu preenchi todos os campos à excepção do inf_descricao, como é que eu agora posso editar de modo a só preencher este que falta?; 3 - No tipo YEAR quando se insere valores usa-se plicas ou não? 4 - Andei a pesquisar mas fiquei sem entender na mesma. Qual é a diferença entre o TEXT e o BLOB? Ou melhor, para este caso qual se adequa mais? (pretendo adicionar aquelas descrições que vêm na capa de trás dos livros)
bruno1234 Posted August 23, 2009 at 03:25 PM Report #284261 Posted August 23, 2009 at 03:25 PM 1- Quanto às tabelas, eu n criava 2 em separado. Criava uma tabela livros com uma coluna q era uma chave estrangeira para uma tabela de tipos de livros. Nessa tabela de tipos de livros tinha 2 campos: PK_Id, Descricao. 2- Podes fazer um update. update tabela set campo = 'novo valor' where id=numero 3- Em MySql n tenho a certeza, mas é capaz de aceitar das 2 maneiras, é uma questão de experimentares. 4- Texto é apenas texto, BLOB é formato binário. Para o caso da descrição dos livros até podes usar varchar com um limite conhecido (5000 ou 6000, depende do tamanho das descrições). Assim controlas melhor a dimensão da coluna. Caso precises de ter mm uma dimensão maior, então podes usar texto. O BLOB poderias utilizar se tiveres a pensar ter quantidades de texto enormes, e nesse caso utilizavas compressão, e guardavas os bytes resultantes. Matraquilhos para Android. Gratuito na Play Store. https://play.google.com/store/apps/details?id=pt.bca.matraquilhos
Nuno_Martins Posted August 23, 2009 at 06:34 PM Author Report #284270 Posted August 23, 2009 at 06:34 PM Obrigado desde já pela resposta. Fiquei um bocado baralhado quanto à resposta à primeira pergunta. É possível dares um exemplo prático de como ficaria da forma como disses-te?
bruno1234 Posted August 23, 2009 at 07:02 PM Report #284274 Posted August 23, 2009 at 07:02 PM A tabela Livros ficava: id TINYINT PRIMARY KEY AUTO_INCREMENT, tipo_id TINYINT, titulo VARCHAR(50) NOT NULL, categoria VARCHAR(20) NOT NULL, autor VARCHAR(50) NOT NULL, coleccao VARCHAR(20), edicao TINYINT, ano YEAR NOT NULL, isbn VARCHAR(20) NOT NULL UNIQUE, n_paginas INT NOT NULL, tipo_capa VARCHAR(15) NOT NULL, descricao TEXT A tabela tipos de livro ficava: tipo_id tinyint PK descricao varchar(20) depois relacionavas o tipo_id como chave estrangeira da 1ª tabela. Só uma obversão: O tinyint vai até 255 pode ser um range insuficiente para a quantidade de livros q tens. Matraquilhos para Android. Gratuito na Play Store. https://play.google.com/store/apps/details?id=pt.bca.matraquilhos
Nuno_Martins Posted September 7, 2009 at 12:45 AM Author Report #285939 Posted September 7, 2009 at 12:45 AM Olá, peço desculpa por só agora poder vir dar algum feedback... Muito sinceramente não consigo entender a situação que propuseste. Não percebo bem o que são as chaves estrangeiras, ou melhor, não percebo qual iria ser a sua funcionalidade neste caso. Se pudesses esclarecer um pouco melhor... ou até mesmo dando um exemplo prático agradecia.
bruno1234 Posted September 7, 2009 at 08:17 PM Report #286020 Posted September 7, 2009 at 08:17 PM O melhor q tens a fazer é pesquisar e ler sobre modelos relacionais de dados. Matraquilhos para Android. Gratuito na Play Store. https://play.google.com/store/apps/details?id=pt.bca.matraquilhos
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now