목록DataBase (10)
jeongwon
SELECT * FROM name_tb WHERE show='y' AND (TO_CHAR(start_date, 'YYYY-MM-DD') >= '2022-11-14' OR TO_CHAR(end_date, 'YYYY-MM-DD') >= '2022-11-14'); SELECT * FROM name_tb WHERE show='y' AND (start_date >= sysdate OR end_date >= sysdate); 두 구문을 비교해보았을 때 end_date 가 '2022-11-14 ' 인 레코드 1 건이 누락되었다. 찾아보니 시간값까지 정확히 비교하기 위해선 String으로 변환 후 비교하는 것이 좋다고 한다. 참고:https://coding-factory.tistory.com/441 [Oracle] 오..

기존 생성한 테이블 내용 CREATE TABLE MEMBER ( ID VARCHAR2(50), -- 수정 대상 PWD NVARCHAR2(50), NAME NVARCHAR2(50), GENDER VARCHAR2(2), AGE NUMBER(3), --삭제 대상 BIRTHDAY CHAR(10), PHONE CHAR(13), REGDATE DATE );-- 추가 컬럼: EMAIL 1. 수정 ALTER TABLE MEMBER MODIFY ID NVARCHAR2(50); 이미 데이터가 있다면, 테이블을 삭제하고 다시 추가하기는 어렵다. ALTER 명령어를 통해 수정 가능. 단, 값의 크기를 줄이거나, 다른 유형(CHAR->NUMBER)으로 변경하는 경우 데이터 손실에 주의해야 한다. 2. 삭제 ALTER TABLE..

범주 및 형태 개요: 1. Character - 'nEWlec' 'A' '148' 1) CHAR 2) LONG - variable-length character strings containing up to 2 gigabytes - 1, or 231-1 bytes 최근 대신해 나온 CLOB 이 있어 잘 안 쓴다. 컬럼에 쓴다면 단 하나의 컬럼에만 적용할 수 있다. 3) CLOB - 대용량 텍스트 데이터 타입으로 최대 4Gbyte 크기도 더 크고, 여러 컬럼에 적용이 가능하다. 4) NCLOB - National. 2. Numeric - 38 3.85 3.85F 137 3. Date - '2013-02-09' 4. TIMESTAMP - '2013-06-03 10.38.29.00000' 1. CHAR 1) C..

선택한 데이터베이스에 맞는 물리적 표를 만드는 단계. 이 단계에서 중요한 것은 성능이다. 성능 향상에 대한 고민이 필요하다. 데이터가 많아짐에 따라 생기는 병목 지점을 찾고(find slow query) 해결책을 찾는 일. 최후의 보루는 이상적으로 정규화 된 표에 손을 대는 일, 즉 역정규화 / 반정규화 이다. 1. index 우선 고려해볼 만한 것. 행에 대한 읽기 성능을 향상시키지만, 쓰기 성능을 떨어뜨린다. 쓰기를 할 때마다 기존의 인덱스에 관한 정리정돈의 연산과정이 필요하다. 시간, 저장공간 문제가 발생한다. 그럼에도 정리정돈을 잘하는 만큼 비약적으로 읽기 성능을 향상시킨다. 2. cache 데이터베이스를 이용하고 있는 Application 영역에서 캐시, 즉 임시 저장소를 사용하는 방법을 고려해..

1. Mapping Rule ERD > 관계형 데이터베이스 형식으로 전환할 때 사용해볼 수 있는 방법론. (오픈소스. 설치하는 게 좀 까다로운 툴) http://ermaster.sourceforge.net/ ER Master ermaster.sourceforge.net ※ 도메인을 설정한다 = 컬럼에 대한 영역을 설정/제한한다. (길이 등) Entity 와 Attribute 의 표현 1:1과 1:N 관계의 표현 Relationship을 PK와 FK로 표현함에 있어 따져볼 것은 Cardinality(카디널리티)이다. 1:1 에서 고민할 것은 누구에게 Primary Key를 줄 것인가 혹은 그러므로 누가 Foreign Key를 갖는가 이다. dormant(휴면) 저자의 경우 author(저자)에 의존적인 존..

모델이란 뭘까? 어떤 목적을 가지고 진짜를 모방한 것 아닐까. 그러니 좋은 모델은 목적에 부합하는 모방일 것이다. 문제는 무한히 거대하고 복잡한 현실을 정보로 만들어서 표에 담는 것은 너무나 어려운 일이라는 점이다. 그 문제에 관한 방법론이 데이터 모델링. 복잡한 현실을 컴퓨터로 이사시키는 이삿짐 센터가 되어 보자. -egoing *현실의 복잡한 문제를 컴퓨터에게 잘 설명해내기. 1. 업무파악 하려는 일이 무엇인가? 의뢰인과의 협력을 통해 알아낸다. 말의 기능을 불신하자. 대신 의뢰인과 함께 그려나갈 UI의 모습을 정립해 보자. (카카오 오븐을 사용한 기획서 구상의 예: https://youtu.be/rWEaUh4DjUo) 2. 개념적 데이터 모델링 내가 하려는 일에 어떤 개념이 있고, 각 개념들은 어떻..

JOIN을 할 때는 기준을 꼭 제시해줘야 한다. select * from topic--topic 테이블을 LEFT JOIN author --왼쪽으로 하여 author 테이블을 붙임 ON topic.author_id=author.id; --topic 테이블의 author_id과 id가 같다는 것을 기준으로 결과: AUTHOR_ID 열(컬럼)까지가 topic 테이블, 나머지가 author 테이블이다. 중복되는 id 열을 보기 좋게 가져와 보자. id는 어떤 테이블의 id인지 구분이 쉽도록 '별명' 으로 TOPIC_ID 를 지정해준다. SELECT topic.id TOPIC_ID, title, name -- id, title, name 컬럼을 가져오되 id를 TOPIC_ID 라는 이름으로 출력 FROM top..
HOST 는 인터넷에 연결된 컴퓨터 한 대 한 대를 의미한다. 만약 한 컴퓨터에 Oracle이 설치돼 있으면서 데이터가 들어 있고, 다른 한 컴퓨터에는 sqlplus가 설치돼 있으면서 저쪽 컴퓨터에 데이터와 관련한 요청을 한다면? 역할이 서로 다르다. 이 요청하는 컴퓨터를 Client, 데이터가 들어 있고 서비스를 제공하는 컴퓨터를 Server 라 한다. 오라클을 기준으로 이 클라이언트 컴퓨터의 요청 프로그램을 '오라클 데이터베이스 클라이언트'라 부르고, 그에 속하는 구체적 프로그램으로 sqlplus 가 있는 것. (오라클을 설치하면 함께 제공) 서비스 제공하는 '오라클 데이터베이스 서버' 와는 구분해서 이해해야 한다. GUI 환경에서 오라클을 제어할 수 있는 프로그램이 많다. 오라클에서 제공하는 SQL..