Non seulement JDK, mais aussi Glassfish, WebSphere, Apache Hive, etc. Apache Derby a l'impression qu'il est souvent livré avec des outils liés à Java.
Léger, intégré / serveur, pur Java, il peut donc être utilisé à toutes fins C'est une base de données facile à utiliser pour l'apprentissage.
Une telle procédure de construction Derby (de l'installation à la création des données) est résumée, Je l'ai écrit à partir de l'idée qu'il sera possible de le gérer comme une base de données pouvant être utilisée plus facilement.
Aucune installation n'est requise pour utiliser le Derby fourni. Si vous n'avez pas installé les outils fournis Ou, si vous souhaitez l'installer séparément, veuillez le télécharger à partir de la page suivante.
http://db.apache.org/derby/derby_downloads.html
La dernière version au moment de la rédaction de cet article était 10.13.1.1. Cliquez sur le lien de cette version pour télécharger le zip. db-derby-10.13.1.1-bin.zip
Décompressez le fichier ci-dessus. La destination de sauvegarde est arbitraire. Dans ce manuel, il a été déplacé vers le répertoire suivant. C:\Tools\derby
Ajoutez les paramètres liés à Derby aux variables d'environnement système. DERBY_HOME=C:\Tools\derby PATH = (omis);% DERBY_HOME% \ bin
Ensuite, démarrez le dossier bin spécifié dans PATH plus tôt à l'invite de commande.
:: derby.Créer des propriétés et un utilisateur/Définissez un mot de passe.
C:\Tools\derby\bin>type nul > derby.properties
C:\Tools\derby\bin>notepad derby.properties
Copiez le contenu suivant sur le bloc-notes. Lorsque vous avez terminé, enregistrez et fermez.
derby.properties
derby.authentication.provider=BUILTIN
derby.connection.requireAuthentication=true
derby.database.sqlAuthorization=true
derby.database.fullAccessUsers=admin
derby.database.readOnlyAccessUsers=guest
derby.user.admin=admin
derby.user.guest=guest
derby.connection.requireAuthentication
sur false.
Je peux créer une base de données sans créer derby.properties séparément.
Plus tard, quand j'ai voulu définir un utilisateur ou me réveiller, j'ai pensé qu'il serait plus pratique de le créer à l'avance, alors je l'ai écrit.::Créez un répertoire pour enregistrer la base de données
C:\Tools\derby\bin>md %DERBY_HOME%\dat
Maintenant que vous avez les paramètres de base, il est temps de créer la base de données.
La commande Derby ij est omise ici. Cliquez ici pour plus de détails → Mémo Java DB Vous pouvez également le vérifier avec la commande help de ij, donc si vous êtes intéressé, là. Cependant, la commande ij a absolument un; (point-virgule) à la fin de la phrase, donc soyez prudent dès le début. Même si vous oubliez le ;, vous pouvez exécuter la commande en appuyant sur; sur la ligne suivante;
Cette fois, écrivez les commandes pour créer la base de données, la table et les données dans le fichier sql. Prenez le style d'exécution du fichier sql avec la commande ij.
database-create.sql
connect 'jdbc:derby:c:/Tools/derby/dat/test;user=admin;password=admin;create=true';
:: database-create.Déplacer vers le répertoire où sql est stocké
C:\Tools\derby\bin>cd D:\workspace\script
::Créer une base de données.
D:\workspace\script>ij.bat database-create.sql
Ensuite, créez une table. Dans Derby, si TABLE existe, il n'y a pas d'instruction pour exécuter DROP, il est donc nécessaire qu'une personne la juge. Bien sûr, si vous créez une telle fonction, elle sera résolue, mais cette fois, nous ne nous en occuperons pas.
users-create.sql
connect 'jdbc:derby:c:/Tools/derby/dat/test;user=admin;password=admin';
MAXIMUMDISPLAYWIDTH 15;
--DROP TABLE users if needed
show tables in admin;
CREATE TABLE users (
id INT NOT NULL PRIMARY KEY
GENERATED ALWAYS AS IDENTITY
(START WITH 1, INCREMENT BY 1),
login_id VARCHAR(20) NOT NULL,
password VARCHAR(20) NOT NULL,
user_name VARCHAR(20) NOT NULL,
birthday CHAR(8),
email VARCHAR(40) NOT NULL,
address VARCHAR(200),
credit_card_number CHAR(16),
authority_type CHAR(1) NOT NULL,
is_deleted CHAR(1) NOT NULL,
created_at TIMESTAMP NOT NULL,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_by VARCHAR(20) NOT NULL
);
CREATE UNIQUE INDEX ui_users_01 ON users (
login_id
);
CREATE UNIQUE INDEX ui_users_02 ON users (
email
);
CREATE UNIQUE INDEX ui_users_03 ON users (
credit_card_number
);
show tables in admin;
describe users;
commit;
::Créer une table des utilisateurs
D:\workspace\script>ij.bat users-create.sql
Insérez l'enregistrement à la fin.
users-insert.sql
connect 'jdbc:derby:c:/Tools/derby/dat/test;user=admin;password=admin';
MAXIMUMDISPLAYWIDTH 15;
select * from users;
INSERT INTO users VALUES
(DEFAULT, 'sj', 'berkay', 'sercan', '20000318', '[email protected]',
'19 Mc Cabe Street', '1234567890123456', '1', '0', current_timestamp, current_timestamp, 'admin');
INSERT INTO users VALUES
(DEFAULT, 'br', 'ugur', 'oljay', '19980322', '[email protected]',
'19 Mc Cabe Street 2145', '1234567890123450', '1', '0', current_timestamp, current_timestamp, 'admin');
select * from users;
commit;
::Insérez des données dans la table des utilisateurs.
D:\workspace\script>ij.bat users-insert.sql
Comme vous pouvez le voir, le SQL de Derby peut être écrit en SQL presque standard. La différence dans DML est qu'il n'y a pas de clause LIMIT (la fonction ROW_NUMBER ou la clause OFFSET / FETCH est utilisée à la place). Seule "expression conditionnelle CASE WHEN" est prise en charge. ("CASE WHEN ~" ne peut pas être utilisé). Veuillez vous référer au manuel de la fonction. Je n'ai ni COALESCE ni REPLACE.
Mémo Java DB [developerWorks --Development using Apache Derby](http://www.ibm.com/developerworks/jp/views/opensource/libraryview.jsp?search_by=Apache+Derby+%E3%82%92%E4%BD%BF % E7% 94% A8% E3% 81% 97% E3% 81% 9F% E9% 96% 8B% E7% 99% BA) Derby Reference Manual
Recommended Posts