DBデータ実習(4)
substr, replace
NULL
:未定義の値を受け取る準備をします.0は数値です.スペースは文字です.NULLとは異なり、演算にNULLが含まれている場合、結果もNULLです.NULL以外の結果値を取得する場合は、NVL/ISNULL関数を使用します.
テーブルに存在する必要がある制約
:PK、PKは表でしか定義できません.PKで指定した列はNOT NULL、UNIQUEで自動的に設定され、一意のインデックスが自動的に生成されます.
FKまたはJOINのターゲットテーブルに作成する必要があります
:インデックス、NOT NULL、SORTED、インデックスはFKで指定されたカラムまたはJOINの共通カラムでインデックスを作成し、インデックスは特定のカラムでインデックスを作成するときにそのカラムデータをソートし、データ物理アドレスとともに独立したメモリ領域に格納します.並べ替えにより、WHERE条件で簡単に検索できます
あなたが知っているDictionaryの種類と含まれている情報を書いてください.
https://jaeho4646.tistory.com/30
<接頭辞>
USER:ユーザーが所有するオブジェクト
ALL:ユーザが所有するオブジェクト+他のユーザが付与するオブジェクト
DBA:全ユーザのオブジェクト
<接尾辞>
OBJECT:オブジェクト情報(テーブル、インデックス、ビュー、パースビュー)
TABLES:テーブル情報
TAB COLUMNS:テーブル列について
INDEXES:インデックス情報
IDX COLUMNS:インデックス構成列について
CONTRAINTS:制約
TAB COMMENTS:テーブルコメントについて
vinstance:現在のインスタンスステータス、nomountvinstance:現在のインスタンスステータス、no mount vinstance:現在のインスタンスステータス、nomountvprocess:現在のアクティブなプロセスステータス、no mount
v$database:現在のデータベース情報、mount
CHAR、VARCHAR、VARCHAR 2差異
:CHARは固定長文字列を格納するデータ型であり、宣言長より小さくてもスペースで埋め込まれている.VARCHAR 2は可変長文字列を格納するデータ型であり、メモリメリットがある.VARCHAR/VARCHARR 2には差はないが、VARCHAR 2は他の用途に変更できるため、VARCHAR 2を使用することを推奨する.NVARCHAR 2を使用する場合は、韓国語、VARCHAR 2、英語の数字はみな同じだ
ターゲット・オブジェクト、テーブル、Columnネーミングの標準化:生産性の向上と管理
DELETE、DROP、TRANCATE差異
DELETE:条件を削除し、flashbackを復元する
DROP:無条件、消去されていないリカバリ可能、削除されたデータおよびテーブル
TRUNCATE:無条件、リカバリ不可、データ消去のみ、テーブル保持
%はLIKEと組み合わせて使用し、%は文字列の後に配置します.
WHERE EMPLOYE NAME LIKE「赤%」;-->使用
WHERE EMPLOYE NAME LIKE"%赤";-->これにより、パフォーマンスに問題が発生します.(いけないわけではない)
WHERE EMPLOYE NAME NOT LIKE「赤%」;-->できる
WHERE EMPLOYE NAME NOT LIKE"%赤%";-->絶対だめだ
decodeとcaseの違い
https://data-make.tistory.com/20
decodeは、条件に従って既存のカラムのデータを他のカラムの値に置き換え、nvlのような空の値があるかどうかを確認しますが、caseよりも速度が遅い
caseはdecode、構文の違い、string関数ではなく、コマンドです.
NLS DATE FORMATの変更
ツール>プリファレンス>データベース>NLS(Tools>Preference Parameters>Database>NLS)
日付フォーマットの変更:RR/MM/DD>YYY-MM-DD HH 24:MI:SS
select sysdate from dual;//締め切り日
select to_char(sysdate, 'YYYY/MM/DD HH24:MI:SS') from dual;//分秒
alter session set nls_date_format='YYYY/MM/DD HH24:MI:SS';//セッションの変更
select sysdate from dual;//分秒
追加) PK属性1.Not Null 2. Unique 3. Index SQL演算子優先度 ログ関連:spool,start FK制約インデックス(パフォーマンス向上) 行単位、投影列単位 を選択する. Windows関数では、START WITHとCONNECTBYの両方にINDEXが必要です. Oracle Optimizer Planの作成の主な基準はIndex です. DMLが頻繁に発生する場合、ツリー内の頻繁な挿入、位置の変更、削除により、ファブリックのアンバランスが生じる .テーブルで作成可能なインデックス数(3~6個) インデックス、推奨される6カラム数 セグメント履歴のデータクエリでは、日付時間列の前にインデックスが追加されます.これは、 が有利です.座辺変形禁止->立柱を加工せず、置換加工を行い、定数(変数)部分を加工します.
drop table TB_X3 purge;
create table TB_X3(
a varchar2(10)
, b varchar2(20)
);
insert into TB_X3 (a,b) values('1', 'idb');
insert into TB_X3 (a,b) values('2', 'Idb');
insert into TB_X3 (a,b) values('5', 'IDB');
insert into TB_X3 (a,b) values('6', '아이디비');
insert into TB_X3 (a,b) values('7', '%dB');
insert into TB_X3 (a,b) values('8', '8');
insert into TB_X3 (a) values('2');
insert into TB_X3 (a) values('4');
select * from TB_X3 order by b desc;
select substr(b,1,2) as x, b from TB_X3 where b is not null order by b;
select substr(b,2,3) as x, b from TB_X3 where b is not null order by b;
select substr(b,-3,1) as x, b from TB_X3 where b is not null order by b;
select b as "asis", replace(b, 'd', '2002') as "tobe" from TB_X3 where b is not null order by b;
update TB_X3 set b = replace(b, 'd', '2002') where b is not null;
select * from TB_X3;
commit;
update TB_X3 set b = replace(b, '2002', 'd') where b is not null;
select * from TB_X3;
commit;
create table TB_X3_1
as
select a, replace(b, 'd', '2002') as b from TB_X3 where b is not null order by b;
select * from TB_X3_1;
alter table TB_X3 rename to TB_X3_2;
alter table TB_X3_1 rename to TB_X3;
select * from user_tables where table_name like 'TB%';
select * from TB_X3;
Alter session,優先パラメータの変更-- 도구 > 환경설정 > 데이터베이스 > NLS
-- 날짜형식 변경 : RR/MM/DD > YYYY-MM-DD HH24:MI:SS
select sysdate from dual; // 날짜까지만 나옴
select to_char(sysdate, 'YYYY/MM/DD HH24:MI:SS') from dual; // 시분초까지 나옴
alter session set nls_date_format='YYYY/MM/DD HH24:MI:SS'; // 세션 변경
select sysdate from dual; // 시분초까지 나옴
to_number, to_char, to_dateselect to_number('1234') from dual; -- 우측정렬
select to_char('1234') from dual; -- 좌측정렬
select to_date('1992-12-31') from dual;
--select to_date('20070229') from dual; // error, no leap year
select to_date('20080229') from dual;
重要な背景知識を整理するNULL
:未定義の値を受け取る準備をします.0は数値です.スペースは文字です.NULLとは異なり、演算にNULLが含まれている場合、結果もNULLです.NULL以外の結果値を取得する場合は、NVL/ISNULL関数を使用します.
テーブルに存在する必要がある制約
:PK、PKは表でしか定義できません.PKで指定した列はNOT NULL、UNIQUEで自動的に設定され、一意のインデックスが自動的に生成されます.
FKまたはJOINのターゲットテーブルに作成する必要があります
:インデックス、NOT NULL、SORTED、インデックスはFKで指定されたカラムまたはJOINの共通カラムでインデックスを作成し、インデックスは特定のカラムでインデックスを作成するときにそのカラムデータをソートし、データ物理アドレスとともに独立したメモリ領域に格納します.並べ替えにより、WHERE条件で簡単に検索できます
あなたが知っているDictionaryの種類と含まれている情報を書いてください.
https://jaeho4646.tistory.com/30
<接頭辞>
USER:ユーザーが所有するオブジェクト
ALL:ユーザが所有するオブジェクト+他のユーザが付与するオブジェクト
DBA:全ユーザのオブジェクト
<接尾辞>
OBJECT:オブジェクト情報(テーブル、インデックス、ビュー、パースビュー)
TABLES:テーブル情報
TAB COLUMNS:テーブル列について
INDEXES:インデックス情報
IDX COLUMNS:インデックス構成列について
CONTRAINTS:制約
TAB COMMENTS:テーブルコメントについて
vinstance:現在のインスタンスステータス、nomountvinstance:現在のインスタンスステータス、no mount vinstance:現在のインスタンスステータス、nomountvprocess:現在のアクティブなプロセスステータス、no mount
v$database:現在のデータベース情報、mount
CHAR、VARCHAR、VARCHAR 2差異
:CHARは固定長文字列を格納するデータ型であり、宣言長より小さくてもスペースで埋め込まれている.VARCHAR 2は可変長文字列を格納するデータ型であり、メモリメリットがある.VARCHAR/VARCHARR 2には差はないが、VARCHAR 2は他の用途に変更できるため、VARCHAR 2を使用することを推奨する.NVARCHAR 2を使用する場合は、韓国語、VARCHAR 2、英語の数字はみな同じだ
ターゲット・オブジェクト、テーブル、Columnネーミングの標準化:生産性の向上と管理
DELETE、DROP、TRANCATE差異
DELETE:条件を削除し、flashbackを復元する
DROP:無条件、消去されていないリカバリ可能、削除されたデータおよびテーブル
TRUNCATE:無条件、リカバリ不可、データ消去のみ、テーブル保持
%はLIKEと組み合わせて使用し、%は文字列の後に配置します.
WHERE EMPLOYE NAME LIKE「赤%」;-->使用
WHERE EMPLOYE NAME LIKE"%赤";-->これにより、パフォーマンスに問題が発生します.(いけないわけではない)
WHERE EMPLOYE NAME NOT LIKE「赤%」;-->できる
WHERE EMPLOYE NAME NOT LIKE"%赤%";-->絶対だめだ
decodeとcaseの違い
https://data-make.tistory.com/20
decodeは、条件に従って既存のカラムのデータを他のカラムの値に置き換え、nvlのような空の値があるかどうかを確認しますが、caseよりも速度が遅い
caseはdecode、構文の違い、string関数ではなく、コマンドです.
NLS DATE FORMATの変更
ツール>プリファレンス>データベース>NLS(Tools>Preference Parameters>Database>NLS)
日付フォーマットの変更:RR/MM/DD>YYY-MM-DD HH 24:MI:SS
select sysdate from dual;//締め切り日
select to_char(sysdate, 'YYYY/MM/DD HH24:MI:SS') from dual;//分秒
alter session set nls_date_format='YYYY/MM/DD HH24:MI:SS';//セッションの変更
select sysdate from dual;//分秒
Reference
この問題について(DBデータ実習(4)), 我々は、より多くの情報をここで見つけました https://velog.io/@sunshine0070/DB-데이터-실습4テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol