본문 바로가기

데이터베이스16

db 도움 자료들 JDBC의 경우 // PrepareStatment로 값을 대입하는데, 첫 번째가 AUTO_INCREMENT가 적용될 행이고, 두 번째는 예시항목이다String query="INSERT INTO 테이블명 VALUES(0, ?)";데이터를 삽입하면 자동으로 번호를 생성해주는 AUTO_INCREMENT는, 일반 DB에서 생성할 경우 대입할 컬럼을 제외하고 값을 넣어주면 된다.하지만 JDBC로 값을 대입해야할 경우, 조회할 항목의 컬럼을 받아와야하기 때문에 AUTO_INCREMENT가 추가된 컬럼을 제외할 수 없다. (에러 발생)이때 AUTO_INCREMENT의 값보다 낮은 수를 대입한다. (1부터 시작할 거라면 0)  DELIMITER $$ CREATE TRIGGER tg_product_insert BEFOR.. 2025. 3. 5.
sqld 자격증 실기 정리 instr ceil(22.14)  , floor(22.14), trunc(22.14) , round(22.14)논리 데이터 모델링모델링의 단계 중 가장 재사용성이 높은 모델링은? ROLLUP(A,B) UNION CHECK(NOT NULL) UNIQUE  NOT IN (SUBQUERY) 에서 NULL이 포함된 경우 NULL의 참 거짓 판정이 되지 않아 0 건 처리ex)SELECT ...  FROM table1 A WHERE A.N1 NOT IN(SELECT B.N1 FROM table3 B); NOT IN (SUBQUERY) 내부 스키마 주식별자DDL : createalterdroptruncateDML:selectinsertupdatedeleteDCL:grantrevokeTCL:DDL, DML, DCL, .. 2025. 2. 26.
select문이란? 한문장 정리)DML의 언어중 하나로 튜플을 조회하는 것을 말한다. 구조 와 의미)아래와 같은 구조로 생각하며 쿼리문을 짠다. select                       = 컬럼 선택from                         =  대상 테이블where                      =  튜플 선정 조건group by (having)    =  그룹과 집계order by                   =  정렬 논리 순서도)from -> where -> group by (having) -> select -> order by 위의 순서로 논리적으로 접근하면 된다. select문 예시)select  * from test   -> test테이블에서 모든 튜플을 검색한다. 이떄 모든 컬럼.. 2025. 1. 8.
정규화란? 정규화종류(1NF, 2NF, 3NF, BCNF, 4NF, 5NF) 의미)관계형 데이터베이스에서 데이터 중복을 최소화 하기 위해서 하는 방법  종류)1NF(제1정규화): 도메인 원자값2NF (제2정규화) : 부분적 함수 종속 제거3NF (제3정규화) : 이행적 함수 종속 제거BCNF () : 결정자이면서 후보키가 아닌 것 제거4NF (제4정규화) : 다치 종속 제거5NF (제5정규화) : 조인 종속성 이용 종류 설명)1NF : 도메인 원자값도메인: 하나의 속성이 가질 수 있는 모든 값  ex) 성별 이라는 속성이 있다면 여기서 도메인은 여자, 남자 를 의미한다. 원자값: 속성값이 더이상 논리적으로 분해될 수 없는 값을 의미학번이름이메일수강과목2025254555아이유iou@naver.com컴퓨터공학, 알고리즘2025454545츄chu@naver.com알고리즘 위의 테이블에.. 2025. 1. 2.
무결성이란? 의미)데이터가 처리되는 과정에서 손상되지 않고, 완정성, 정확성, 일관성을 유지하는 것 종류)도메인 무결성 -> 속성과 관련개체 무결성 -> 기본키와 관련참조 무결성 -> 외래키와 관련 ex)부모릴레이션 create table member1( id varchar2(4) primary key, name varchar2(6), addr varchar2(10)); 자식릴레이션 create table car( no int primary key, id varchar2(4), carnum varchar2(4), foreign key(id) references member1(id) ); insert into member1 values ('a','kim','suwon');insert into car values (1,.. 2024. 12. 31.
키(key)란? 의미)속성에 의미를 부여 ex) 속성-> id, name, addr, age, (id,name), (id,addr), (id,age).... 종류)기본키(primary key)1. unique 특성을 가진다. 2. index가 형성된다.한문장 정리-->중복되는 값을 가지지  않으며 데이터를 쉽게 찾을 수있게 한다.( 내생각)-> 하나의 튜플을 유일하게 식별할 수 있는 속성을 의미하는게 unique 따라서 튜플을 unique 하게 구분할수있다 (확장성생각)  외래키(foreign key)1. 중복 가능 2. 기본키 참조3. null 값 가능4. 외래키 사용이유-> 데이터 중복을 최소화 하게 정규화를 하기 위해서 사용한다.  ex)다음과 같은 테이블이 있을 경우 문제가 생길 수 있다.  pk는 id 이다 i.. 2024. 12. 31.
인덱스란? 의미)데이터를 찾기 쉽게 해주는 도구를 의미한문장: 저장시 색인을 형성하여 검색속도의 향상을 준다. + 내가 한것(where절을 사용해서 검색속도의향상을 만들었다.) cf) where-> 튜플선정조건이다일반적으로 테이블 하나당 한개 인덱스 설정 인덱스는 속성명에 지정ex) id, name, addr, age, (id, name)이렇게 묶어서 하나의 속성명으로도 인식가능 , (id, addr), (id,age)   장점)1. 검색의 속도가 빠르다. 단점)1. 인덱스가 너무 많으면 오히려 속도가 떨어진다. 2024. 12. 31.
스키마, 인스턴스 스키마(schema) : 데이터베이스 구조, 데이터 타입 등의 명세를 의미 한다. ex) 칼럼명들 +) 스키마들을 만드는것을 데이터 베이스 설계 라고 한다! 인스턴스(instance) : 데이터베이스에서 실제로 저장되어 있는 데이터 ,  snapshot 또는 occurrence 이라고도 불린다 2024. 10. 25.
soft delete(논리 삭제) && hard delete(물리 삭제) 물리삭제는 SQL의 DELETE 명령어를 사용하여 직접 데이터를 삭제하는 방법입니다. ex) DELETE FROM User WHERE userId = ?    논리삭제는 SQL의 UPDATE 명령어를 사용하여 삭제 여부를 알수 있는 컬럼에 데이터가 삭제되었다는 값을 넣어서 표현합니다. ex) UPDATE User SET activated = 0 where userId = ?   1. 데이터베이스의 용량이 매우 커질 수밖에 없습니다.2. SELECT 조회 시 불필요한 검색조건을 추가해야 합니다.3. where을 통한 필터링이 꼭 추가되어야 합니다.. 1.  데이터가 유지되어야 하는 속성의 테이블의 경우에는 논리삭제로 해당 테이블 레코드의  마지막 순간을 남길 수 있어 데이터를 나중에 다시 볼수 있다.  2.. 2024. 4. 30.
sql 기초문법 FROM : 어떤 테이블에서 이 데이터를 가지고 올 것인지 SELECT : 무엇을 가지고 올 것인지 * : 전체 column의 모든 내용을 말함(아스타라고 말함) LIMIT 숫자 : 숫자 만큼의 레코드를 가지고 온다 WHERE : 불러오는 데이터에서 조건에 맞는 데이터를 가지고 올떄 쓰인다. ex) WHERE CustomeName = 'Joson' 비교 연산자 ex) = , , >=, , Country 칼럼에서 KO로 시작하는 모든 데이터를 말한다 이떄 % 는 아무거나 다 들어올수 있다는 걸 말한다. IN : 여러가지 조건들을 중 하나만 만족해도 데이터를 가지고 올 떄 사용한다 ex) WHERE Country IN ('Korea', 'Germany', 'Japan') -> Korea, Germany, J.. 2024. 2. 9.
728x90