제약조건 테이블의 해당 컬럼에 사용자가 원치 않은 데이터가 입력, 수정, 삭제되는 것을 방지하기 위한 조건 // 조회방법 select * from user_constraints; 제약조건 설명 특징 unique key 유일한 값을 가진 열, 열의 조합 지정 중복행 데이터가 들어가는 것을 방지 중복X, null값 O ex) 주민번호 primary key 유일하게 테이블의 각 행을 식별 중복X, null값 X not null + unique key not null null 값을 포함 X foreign key 열과 참조된 테이블의 열 사이의 외래키 관계 적용하고 설정 주테이블의 pk를 보조테이블의 column으로 지정한 키 참조 테이블의 pk에 없다면 등록 못함 중복O, null값 O primary key와 ..
DDL (Data Definition Language) 오라클(한정)에서는 이름의 대소문자를 구분 X 여기서는 commit, rollback 사용 X 테이블과 같은 데이터 구조를 정의하는데 사용되는 명령어 (생성, 변경, 삭제, 이름변경) 데이터 구조와 관련된 명령어. 마우스로 DDL 사용 더보기 1. 테이블 - 오른쪽 마우스 - 편집 클릭 2. 테이블 편집에서 +, x 눌러서 컬럼 추가, 삭제 후 3. 확인을 누르기 전 DDL 확인 - SQL문 확인 가능 C.R.U.D 이름 조작 SQL Create 생성 INSERT Read 읽기(또는 인출) SELECT Update 갱신 UPDATE Delete 삭제(또는 파괴) DELETE Create table 데이터 타입 데이터 타입 특징 크기 varchar2 ..
DML (Data Manipulation Language) select(포함) 다음으로 중요 DML 문장은 실수했을 때 반영하겠다는 commit 전 rollback으로 복구 가능 트랜잭션: 작업의 논리적인 단위 형태인 DML 문장의 모음으로 트랜잭션을 완료 시켜야 원본 데이터에 반영됨 desc departments; -- 요약 select * from departments; -- 테이블 확인 rollback; -- 되돌리기 Insert 행을 추가 desc 테이블명; - 열 확인 가능 not null = null값이 들어가면 안됨 모든 컬럼을 다 사용하면 컬럼부분 생략 가능 순서와 타입에 맞게 모든 열들에 대한 입력정보가 포험되어 있어야 함 insert 방법1. values ( )에 직접 값 삽입 inse..
서브쿼리 하나의 질의를 다른 질의 내부에 두는 방법으로 두 개의 질의를 조합하여 해결 nancy의 급여보다 많은 급여를 받는 사원은 누구? 1. nancy급여 2. 1보다 많은 급여를 받는 사원 다른 select 문장의 절에 내장된 select 문장 테이블 자체의 데이터에 의존하는 조건 테이블의 행을 검색할 필요가 있을 때 유용 서브쿼리는 ( )안에 있어야 함 비교 연산자의 오른쪽에 있어야 함 서브쿼리절을 먼저 해석 select, from, where, having, order by, insert문의 values, update문의 set, create table문의 as 단일 행 서브쿼리 내부 select 문장으로부터 하나의 행을 리턴 =, >, >=, = (select employee_id from e..
그룹함수 여러행에서 하나의 결과값을 꺼내는 함수 AVG, SUM, MIN, MAX, COUNT 날짜에 대해서도 MIN, MAX 값 구할 수 있음 ex) 첫 로그인 날짜, 마지막 로그인 날짜 주의! 그룹함수가 일반 컬럼과 동시에 출력 불가 (데이터 베이스별로 다름) ex) select employee_id, sum(salary) from employees; → error! group by에 묶인 절들만 select에 쓸 수 있음 COUNT(*) : null값을 포함하는 행을 포함한 행의 수 COUNT(column) : null값은 제외한 행의 개수 count(*) over() -- 전체행 수 (잘못쓰면 느려짐, 그룹핑으로 안 묶여도 사용가능) count안에 distinct 붙이면 유일한 값이 나오므로 부서..
dual; - 연습용 가짜 table SQL 함수 oracle 문자열 자르기 검색 단일행 - 행별로 하나의 결과를 리턴, 문자, 숫자, 날짜, 변환 다중행 - 복수의 행을 조작하여 행의 그룹당 하나의 결과를 리턴 문자 조작 함수 문자 조작 함수 실습 inicap 첫 문자만 대문자, 나머지는 소문자 lower 모두 소문자 출력 upper 모두 대문자 출력 length 문자열의 길이 출력 instr = indexOf 찾는 문자의 위치 반환 concat = || 두 문자열 연결 substr (문자열 자르기) 부분 문자열을 출력 매개변수 1개: 그 이후부터 출력 매개변수 2개: 그 사이만 출력 lapd 주어진 자릿수만큼 왼쪽 채움 rpad 주어진 자릿수만큼 오른쪽 채움 ltrim 왼쪽 공백 제거 rtrim 오른..
SQL 문장 [암기] selection table1에서 찾기 join - 아직 관계형 데이터베이스의 특징 공유 테이블 양쪽의 열에 대해서 링크를 생성하여 다른 테이블에 저장되어 있는 데이터를 함께 가져오기 위해 사용 select 문 SELECT [DISTINCT] { * | column [[AS] alias], ... } FROM table; 구문형식에서 → 조회하고 싶은 테이블명 구문형식 SELECT : 하나 이상의 열을 나열 DISTINCT : 중복 제거 * : 모든 열을 선택 column : 명명된 열을 선택 AS : 열 별칭 (alias)을 지정 alias : 선택된 열을 다른 이름으로 변경 FROM table : 열을 포함하는 테이블을 명시 SQL> SELECT first_name , last_..
(관계형) 데이터베이스 RDBMS (Relational Database Management System): 관계형 데이터베이스 NoSQL: 대용량 데이터베이스 ex) 채팅로그 A(회원목록)데이터베이스와 B(주문내역)데이터베이스를 KEY로 연결하여 사용 특징 데이터의 무결성 - 어긋나지 않고 깨끗한 상태로 유지 데이터의 공유 - 하나의 데이터베이스에 동시다발적으로 연결 가능 데이터의 정확성과 일관성 중복성의 제거 불일치를 피할 수 있음 표준화 가능 개념화 기법 발달 : 데이터의 독립성 보장 정규형: 중복 문제의 해결 기법 제공 SQL: 데이터 조작언어의 발달 테이블들의 모임: 관계형 데이터베이스 KEY 이용: 각 행은 일련의 값을 사이의 관계 SQL문을 사용하여 이용되고 수정 기본구조 용어 SQL문, 모델..
조금 편히 봐도 되는 챕터 - 필요하면 찾아서 복붙정규 표현식 (Regular Expression)문자열의 집합을 표현하는데 사용하는 형식 언어Perl 에서 처음 사용많은 프로그래밍 언어가 정규 표현식 기능을 제공하고 있는데 언어 자체가 제공하기도 하고, 별도의 라이브러리 형태로 제공되기도 함문자열의 패턴을 검사하기 위해서 사용유효성 검사나 자연어 처리에서 많이 사용java에서는 java.util.regex 패키지에 맞는 Match 클래스와 Pattern 클래스 그리고, String 클래스에서 제공Web Programming에서는 java 보다는 javascript에서 많이 사용메타 문자메타 문자기능설명수직선 (|)또는 (or)항목들 중 하나를 선택하기 위해 구분괄호 (())그룹 묶기연산자의 범위와 우선..
Thread 프로그램에서 가장 중요한 개념 중의 하나 실제 생성해서 사용하는 경우는 안드로이드나 자바 애플리케이션을 만들 때 이고, Web Programming 에서는 직접 생성해서 사용하는 경우가 드뭄 작업 단위 (Process / Thread) Process (공장): 실행 중인 프로그램, 자원(메모리, cpu 등) + thread 프로세서를 할당받아서 실행되는 것 한 번 실행되면 자신의 작업이 종료될 때 까지 제어권을 다른 프로세스에게 넘기지 않고 계속 수행 절대로 멈추지 않음 Thread (일꾼): Process를 작게 나누어서 작업을 수행하는 단위 Thread는 단독으로 실행할 수 없고 Process 안에서 실행되야 함 자신의 작업 도중 쉬는 시간이 생기거나 일정한 시간이 지나면 다른 스레드에게..
Comparable VS Comparator 둘 다 인터페이스(interface) 이므로 추상클래스를 반드시 구현해야 함 새로운 클래스 객체를 만들어 비교하려고 하면 비교할 기준이 필요 comparable은 Arrays.sort(); 사용할 때 자동으로 오름차순 정렬 되고, compareTo 메서드 구현하면 자기 자신을 기준으 객체의 기본 정렬 순서를 정의 comparator는 내가 특정 객체들을 기준으로 정렬하고 싶을 때 compare 메서드를 오버라이드하여 기준을 만들어(커) 객체들을 비교하는데 사용 - Comparable: 해당 객체의 기본 정렬 순서를 변경하고 싶을 때 사용 객체 클래스 내에 Comparable 인터페이스를 구현하고 compareTo() 메서드를 재정의. 그 후, 해당 객체들의 배..
Nested Class (내포 클래스) 클래스 안에 존재하는 클새스 자바는 클래스 안에 클래스를 생성하는 문법을 지원 Inner Class 클래스 안에 존재하는 클래스 클래스 내부에서만 사용할 목적으로 생성 일반 클래스는 접근 지정자가 package(접근 지정자가 없는 경우) 와 public 만 가능하지만 inner class 에서는 private 과 protected 도 가능 클래스가 컴파일 되었을 때는 외부클래스이름$내부클래스이름.class로 만들어짐 Static Inner Class class 앞에 static 을 붙이는 클래스 내포 클래스에 static 멤버가 있 내포 클래스에 static 멤버가 있는 경우는 인스턴스 생성없이 사용할 수 있도록 static을 붙여주어야 함 static 이 붙은 클..