# primary key
PK(Primary Key)와 FK (Foreign Key)그게 뭔데? ERD 개념
ERD 개념 : https://velog.io/@stella_k/ERD pk와 fk는 뭐고 이것의 상관관계는 무엇인가? > PK(primary key)는 데이터베이스 테이블에서 각 레코드(행)를 고유하게 식별하기 위한 열(속성) 주로 정수 형식의 일련번호로(ID)표현 => 장고를 사용해서 데이타 값을 넣어주면 알아서 id값을 부여해주는데 이때의 예가 될 수 있다. 테이블 내에 중복된 값을 가질 수 없고, NULL값을 가질 수 없다. 즉, 오직 하나만이 pk가 될 수있고, 값이 없어서는 안되는것이 특징이다. unique=True처럼 다른 고유한 필드값은 있을수 있지만, 고유하다고 해서 PK가 되는것이 아니라는것. 주요 대표가 되는 오직 고유한 PK가 테이블에 한개 존재한다. 예) 사용자 -> 사용자 id번호 사용 => 몇번째 회원으로 가입되었는지. 또는 아이디 중복이 안되니까 말그대로의 유저네임이 pk가 될 수 도 있겠죠? > FK(foreign key)는 한 데
ERD란? 그리고 PK와 FK?
ERD란? Entity-Relationship Diagram의 약자로, 필드에 들어가 프로젝트를 시작할때 데이타베이스의 구조와 관계를 그래픽적으로 표현하는 도구이다. ERD는 데이터베이스의 논리적 구조 파악하는데 매우 유용하며, 데이터 설계 시에 커뮤니케이션 도구로도 활용된다. Entity: 데이터베이스에서 표현하려는 정부의 주요 객체난 개념을 나타냄 예) 사용자, 주문, 상품 등 ERD에서는 보통 직사각형으로 표시 Attribute: 엔터티의 세부정보나 특징을 나타냄 예) 사용자 엔터티의 속성은 이름/이메일/전화번호 등 ERD에서는 보통 타원형으로 표시되고, 해당 앤터티에 연결 Relationship: 두 엔터티의 관계를 나타냄 예) 사용자와 주문의 관계 => 주문하기 ERD에서는 라인과 관계의 이름을 표시, 연관된 엔터티 간에 그려짐 Cardinality: 엔터티 간 관계의
관계형 데이터베이스(relational database)
관계형 DB : relational data model을 통해 구조화된 DB RDBMS의 DB와 테이블, 엑셀의 파일과 시트/테이블은 데이터 구조화와 저장을 위한 개념으로 유사 수학에서 파생된 relation 개념 set 서로 다른 elements 를 가지는 collection 하나의 set 에서 elements 의 순서는 중요하지 않다 > 데카르트 곱 > Cartesian product A X B = {(a, b) | a∈A and b∈B} relation 데카르트 곱(Cartesian)의 부분집합(subset ) tuples 의 집합 > binary relation ⊆ A X B > n-ary relation ⊆ X₁ x X₂ x X₃ x ... x Xₙ relational data model 용어 정리 domain: set of atomic values domain name: domain 이름 attribut

[제로베이스 데이터 취업스쿨] 23.07.26 스터디 노트
1. PRIMARY KEY 테이블의 각 레코드를 식별 중복되지 않은 고유값을 포함 Null값을 포함할 수 없음 테이블 당 하나의 기본키를 가짐 1) 생성 문법 예제 >- 하나의 컬럼을(pid) 기본키로 설정하는 법 constraint 는 생략가능 >- 여러개의 컬럼을 기본키로 설정하는 경우 2) 삭제 문법 ![]

Primary key, Foreign key
primary key 기본키(primary key) pk 기본키 역시 기본적인 제약조건들은 테이블을 생성할 때 같이 정의한다. 테이블당 하나만 정의가 가능하다(두 개 이상의 pk는 조합키/복합키 라고 불린다. 묶어서 하나로 본다) 주키/기본키/식별자/pk등으로 불리고 있다. pk는 not null + unique + index 자동 index가 생성되는데 이는 검색 키로서 검색 속도를 향상시킨다. foreign key 외부키/외래키/참조키/외부 식별자/fk등으로 불립니다 fk가 정의된 테이블을 자식테이블이라고 칭한다. 참조되는 테이블 즉, pk가 있는 테이블을 부모 테이블이라고 한다 부모 테이블은 pk컬럼에 존재하는 데이터만 자식 테이블에 입력할 수 있다. 부모테이블은 자식의 데이터나 테이블이 삭제된다고 영향을 받지 않는다 참조하는 데이터 컬럼과 데이터 타입은 반드시 일치해야 한다 참조할 수 있는 컬럼은 기본키이거나 unique만 가능하다

[Oracle SQL]19일차_23.07.14
✏️ 오늘의 TIL 데이터의 품질 높이기 1 (PRIMARY KEY) 데이터의 품질 높이기 2(NOT NULL) 데이터의 품질 높이기 3(UNIQUE) 데이터의 품질 높이기 4(CHECK) 데이터의 품질 높이기 5(FOREIGN KEY) 제약 삭제 제약명 바꾸기 (rename constraint) [점심시간 문제] > 데이터의 품질 높이기 1 (PRIMARY KEY) >💡 PRIMARY KEY 이란 중복된 데이터를 입력, 수정 못하게

[Oracle SQL]18일차_23.07.13
✏️오늘의 TIL 인덱스가 생성되는 방식 2가지 인덱스의 구조를 위한 SQL튜닝 방법(ORDER BY절 대신 인덱스 이용) 유니크, 언유니크 인덱스 인덱스 생성 결합컬럼 인덱스 인덱스 생성 지침 인덱스 제거 동의어 (synonym) 데이터의 품질 높이기 1 (PRIMARY KEY) [점심시간 문제] 문제 581. c##scott 유저가 소유하고 있는 인덱스 리스트를 확인하시오 
230713 Oracle SQL 14 [INDEX, primary key, unique index, SYNONYM]
인덱스 리스트 확인하기 > 문제 581. c##scott 유저가 소유하고 있는 인덱스 리스트를 확인하시오 > 이렇게 봐도되고, 이렇게 봐도됨! emp테이블에 emp_hiredate 인덱스가 존재하는지 확인 완료 > 특정 테이블의 인덱스 리스트 확인 ✔️오라클 -> 테이블 탐색기 -> emp -> 상단 인덱스 (uniqueness 가 더 좋은 인덱스,,?) > 문제 582. 아래의 SQL을 튜닝하시오 튜닝전 (좌변이 가공됨. full scan) > 튜닝후 (인덱스로 스캔) > ✅ 위 : 좌변을 문자형으로 나타내겠다 (to_char) 아래 : 우변을 날짜형으로 나타내겠다 (to_date) 요거 헷갈리지 말기! > ❗**where 절에 인덱스

기본 키(Primary Key) 와 고유(Unique) 제약 조건
공통점 데이터 무결성 유지: 기본 키 제약 조건과 고유 제약 조건은 모두 데이터베이스의 데이터 무결성을 유지하는데, 중복된 값을 방지하여 데이터 일관성을 유지합니다. 제약 조건 설정: 둘 다 데이터베이스 테이블의 컬럼 레벨에서 설정되며, 해당 컬럼(또는 컬럼들)에 대한 고유성을 가진다. 차이점 기본 키(Primary Key) 테이블에서 각 행을 고유하게 식별하는 역할 해당 테이블의 주요 식별자로 사용되며, 각 행은 반드시 유일한 기본 키 값을 가짐 NULL 값을 허용하지 않는다. 일반적으로 테이블 생성 시 지정하며, 주로 자동으로 증가하는 정수 값 (예: 자동 증가하는 ID)이 사용된다. > 사용자 테이블의 기본 키는 "userid" 컬럼으로 지정되어 있고, 각 행은 고유한 "userid" 값을 가져야 합니다. 고유(Unique)제약 조건 고유 제약 조건은 테이블에서 특정 컬럼의 값이 고유해야 함을 나타냄

제약 조건
Primary key 지정 ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건명 PRIMARY KEY (필드명); Unique key 지정 ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건명 UNIQUE(필드명); CHECK 제약 조건 범위 또는 패턴을 정의할 때 사용하는 제약 조건 ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건명 CHECK(조건); 예제1) 
Primary key 테이블의 각 레코드 식별 중복되지 않은 고유값 포함 NULL 값 포함 불가 테이블 당 하나의 기본키를 가짐 프라이머리 키 삽입 프라이머리 키 삭제 기 완성 테이블 프라이머리 키 지정 기 완성 테이블 프라이머리 키 지정2 
DDL - CREATE (23.05.22~23)
💡 데이터 딕셔너리 >- 자원을 효율적으로 관리하기 위한 다양한 정보를 저장하는 시스템 테이블 사용자가 테이블을 생성하거나 사용자를 변경하는 등의 작업을 할 때 데이터베이스 서버에 의해 자동으로 갱신되는 테이블 📝 DDL(Data Definition Language) > 데이터 정의 언어 객체(OBJECT)를 만들고(CREATE), 수정(ALTER)하고, 삭제(DROP) 등 데이터의 전체 구조를 정의하는 언어로 주로 DB관리자, 설계자가 사용함 ✏️ 오라클 객체 종류 테이블(TABLE) 뷰(VIEW) 시퀀스(SEQUENCE) 인덱스(INDEX) 패키지(PACKAGE) 프로시저(PROCEDUAL) 함수(FUNCTION) 트리거(TRIGGER) 동의어(SYNONYM) 사용자(USER) ✏️ 오라클의 자료형 |데이터형|설명| |
DB_006_mySQL
기본키(Primary Key) 값 중복을 허용하지 않는다. 식별키이다. NULL값을 허용하지 않는다. 테이블에서 한 개만 생성 가능하다. 유니크키(Unique Key, Unique Index) 값 중복을 허용하지 않는다. NULL값을 허용한다. 테이블에서 여러 개 생성 가능하다. 참고 DCL ( Data Control Language, 데이터 제어어 ) >+ 데이터를 제어하는 언어 데이터의 보안 / 무결성 / 회복 / 병행 수행 제어 GRANT (특정 DB 사용자에게 특정 작업에 대한) 수행 권한 부여 REVOKE (특정 DB 사용자에게 특정 작업데 대한) 수행 권한 박탈 및 회수 COMMIT 트랜잭션 작업을 데이터에 적용 ROLLBACK 트랜잭션의 작업 취소 및 원래 데이터로 복구 DDL ( Data Definition Language, 데이터

데이터베이스와 테이블 생성, 삭제 / 제약조건
Execution plan 실행 계획이란, 말 그대로 SQL 문으로 요청한 데이터를 어떻게 불러올 것인지에 관한 계획, 즉 경로를 의미. 지름길을 사용해 데이터를 빠르게 찾아낼 것인지, 지름길이 있어도 멀리 돌아가서 찾을 것인지 미리 확인할 수 있다. 어떻게 짜는지에따라 속도가 달라진다.(데이터가 10만건정도는 돼야 튜닝했을때 속도라 달라짐) 실행 계획을 확인하는 키워드로는 EXPLAIN, DESCRIBE, DESC 가 있는데, 해당 결과는 모두 같다. 참고 : https://gngsn.tistory.com/161 query optimizer Execution plan : 을 세움 query tunning : Execution plan을 만드는 것 데이터를 만들어서 넣기(DML) DML insert update delete 데이터를 저장할 박스를 생성(DDL) DDL 데이터 베이스 create alter
관계형 데이터베이스(relational database)개념과 relation, primary key(기본키), foreign key(외래키), constraints를 알아보자
movie set : 서로 다른 elements를 가지는 coolection relational의 수학적 의미 set A와 B가 있다고 가정했을 때 이 둘이 가질 수 있는 경우의 수 조합은 A X B로 표기할 수 있는데 이를 Cartesian product라고 한다 tuple : 몇 개의 엘리먼트들로 이루어진 리스트 n개의 집합으로 이루어진 튜플은 n-tuple relational data model에서는 set 이 도메인을 의미한다. 이 도메인은 엘리먼트 혹은 벨류라고 하는데 이런 값들의 집합을 엘리먼트라고 한다. domain : set of atomic values domain name : domain 이름 attribute : domain이 relation에서 맡은 역할 이름 tuple : 각 attribute의 값으로 이루어진

[project] 미니프로젝트 03/02 테이블 만들고 데이터 넣기
테이블 만들기 및 테이블에 데이터 넣기 날씨테이블에 변동사항이 생겼다. PRIMARY KEY를 code로 지정했다가 regdate로 지정했다가 다시 code로 바꿨다. 첫 code는 날씨를 흐림0 맑음1 비2 눈3 이런 식으로 저장하려 했다. 그러나 데이터를 넣다 보니 고유하지 않아서 버렸다. 그래서 고유한게 뭘까 생각하다 떠오른 것이 regdate. 바로 날짜이다. 매일 다음날이 되니까 고유키로 적합하지 않을까. ㄴㄴ. 지역별로 다른 날씨를 넣을거라 같은 날짜를 가진 행이 지역수만큼 필요해서 안된다. 마지막에 쓴 c
[SQL] 테이블 생성/ 제약 조건/ 칼럼 추가/ 테이블 삭제
erd https://choiseungyoun.github.io/posts/what-is-erd/ SQL >구조적 쿼리 언어(SQL)는 관계형 데이터베이스에 정보를 저장하고 처리하기 위한 프로그래밍 언어입니다. 관계형 데이터베이스는 정보를 표 형식으로 저장하며, 행과 열은 다양한 데이터 속성과 데이터 값 간의 다양한 관계를 나타냅니다. SQL 문을 사용하여 데이터베이스에서 정보를 저장, 업데이트, 제거, 검색 및 검색할 수 있습니다. 데이터베이스 성능을 유지 관리하고 최적화하는 데 SQL을 사용할 수도 있습니다. > SQL은 어떻게 작동하나요? >>구조적 쿼리 언어(SQL) 구현에는 데이터베이스 쿼리를 처리하고 결과를 반환하는 서버 시스템이 필요합니다. SQL 프로세스는 다음을 포함한 여러 소프트웨어 구성 요소를 거칩니다. 오라클 > 오라클? >>오라클(Oracle Corporation)은 미국 텍사스에 본사를 둔 매출 규모 세계 2위의 소프트웨어 회사이
Primary Key & Foreign Key D05
컬럼 속성(무결성 제약조건) Not Null : 널값이 입력되지 못하게 하는 조건 Unique : 중복된 값이 입력되지 못하게 하는 조건 Check. : 주어진값만 허용하는 조건 Primary key : not null + unique + index 의 의미 Foreign Key : 다른 테이블의 필드(컬럼)를 참조해서 무결성을 검사하는 조검 기본키 (Primary Key) 기본키 역시 제약조건들은 테이블을 생성할떄 같이 정의한다. 테이블당 하나만 정의 가능하다. 기본키, 식별자, pk 등으로 불리고 있다. not null + unique + index 외래키 (Foreign Key) 외부키, 외래키, 참조키, fk, 외부식별자 라고 불린다. fk가 정의된 테이블을 자식 테이블이라고 칭한다. 참조되는 테이블 즉 PK가 있는 테이블을 부모 테이블이라 한다. 부모테이블의 pk컬럼에 존재하는 데이터만 자식테이블에 입력할 수 있다
TIL 19일_2차
♣ Oracle과 JAVA ◆ JDBC JDBC(Java Database Connectivity)는 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API이다. JDBC는 데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공한다. ◆ 프로젝트 라이브러리 등록 방법 이클립스에 lib폴더를 생성한다. 컴퓨터 로컬디스크에 저장되어 있는 라이브러리 파일을 복사하기. 프로젝트 우클릭 -> Build Path -> Configure Build Path Java Build Path -> Libraries -> Classpath 클릭 -> Add jars 클릭 -> 원하는 프로젝트 폴더에서 라이브러리 중복 클릭 -> apply 클릭. 단, 수동으로 라이브러리를 등록하기 때문에 위험하므로 권장하지 않는다. 스프링의 일부분을 사용하기 위한 목적으로 라이브러리를 이렇게 등록한다. ◆ Oracle PRIMARY KEY -