본문 바로가기

데이터베이스9

[정보처리기사 필기] 데이터베이스 구축 - 데이터베이스의 개요 데이터베이스의 개요 용어 스키마 : DB 구성하는 자료 개체, 이들의 성질, 이들 간의 관계, 제약조건, DB 논리적 구조, 하나의 데이터베이스 외부 스키마 : 개인이나 특정 응용에 한정된 논리적 데이터 구조 개념 스키마 : 트랜잭션 모델링 내부 스키마 : 실제로 데이터베이스에 저장될 레코드의 형식을 정의 도메인 : 하나의 애트리뷰트가 가질 수 있는 원자 값들의 집합 애트리뷰트 값 합법 여부를 시스템이 검사할때 이용 릴레이션 : 데이터 간에 나타내는 표 자체 릴레이션 스키마 : 하나 이상의 속성 차수 : 릴레이션에 정의된 속성의 개수 카디날리티 Cardinality : 튜플의 수 , 레코드의 수 Degree : 속성(필드)의 수 키 Key 후보키 유일성과 최소성 모두 만족 최소성 튜플을 식별할 수 있는 .. 2022. 3. 25.
SQL - DDL (Data Definition Language) 데이터 정의어 , 시퀀스, 제약 조건 시퀀스 데이터 값 자동으로 증가 테이블 구조만 생성 CREATE TABLE dept_sequence AS SELECT * FROM dept WHERE 11; CREATE SEQUENCE CREATE SEQUENCE seq_dept_sequence INCREMENT BY 10 -- 증가값 START WITH 10 -- 시작값 MAXVALUE 90 -- 최대값 MINVALUE 0 --최소값 NOCYCLE -- 순환 여부 \ CYCLE CACHE 2; -- 시퀀스 미리 만들어 두는 수 \ NOCACHE 여기서 데이터 추가 이때 deptno 컬럼에는 'seq_dept_sequence.NEXTVAL' 시퀀스를 준다. INSERT INTO dept_sequence (deptno,dname, loc) VALUES(s.. 2022. 3. 17.
SQL - DDL 데이터 정의어 - 테이블 생성, 변경, 삭제, 뷰 DDL (Data Definition Language) 테이블 생성 (CREATE) CREATE TABLE test( no NUMBER(3) DEFAULT 0, name VARCHAR2(20) DEFAULT 'noname', hiredate DATE DEFAULT sysdate ); DEFAULT 는 데이터 삽입시 데이터 지정하지 않으면 삽입되는 기본 데이터 값 데이터 추가 (INSERT) INSERT INTO TEST VALUES(1,'홍길동','2022 03 03'); INSERT INTO TEST (NAME) VALUES('비비빅'); INSERT INTO TEST (NO, NAME) VALUES(2,'aaa'); 모든 속성 값에 데이터가 추가될 경우 속성 지정없이 VALUES 에 파라미터 값을 지.. 2022. 3. 13.
SQL - DML 데이터 조작어 서브쿼리, 셀프 조인, 서브쿼리 서브쿼리(subquery)란 다른 쿼리 내부에 포함되어 있는 SELETE 문을 의미한다. 단일값 담당 매니저(MGR)의 이름이 'KING' 인 사람의 정보를 구하려고 한다. 이 때 KING의 사번을 모르기 때문에 KING의 사번을 구하는 쿼리를 서브쿼리로 두고 SELECT empno, ename FROM emp WHERE ename='KING'; 다음 SELECT * 을 통해 정보를 구한다. 이 때 서브쿼리는 () 으로 감싼다. SELECT * FROM emp WHERE mgr= (SELECT empno FROM emp WHERE ename='KING'); 다중값 IN 학년별 최대 몸무게를 가진 학생 정보 --서브쿼리 속성 2개 SELECT grade, MAX(weight) FROM studen.. 2022. 3. 10.
SQL - DML 데이터 조작어 기본 | dual, INSTR, SUBSTR, REPLACE, LPAD/RPAD, CONCAT, 날짜(SYSDATE, ADD_MONTHS, MONTHS_BETWEEN,NEXT_DAY,AST_DAY), 형태 변환(TO_CHAR, TO_NUMBER, TO_DATE), NULL 값 처리(NVL), 조건문(DECODE, WHEN), 집계함수.. dual, INSTR, SUBSTR, REPLACE, LPAD/RPAD, CONCAT, 날짜(SYSDATE, ADD_MONTHS, MONTHS_BETWEEN,NEXT_DAY,AST_DAY), 형태 변환(TO_CHAR, TO_NUMBER, TO_DATE), NULL 값 처리(NVL), 조건문(DECODE, WHEN), 집계함수(ROLLUP, CUBE) Oracle SQL Developer를 이용하여 기초에서 다루지 않았던 문법들을 다룰 예정 처음이라면 생성 후 연결 가상 테이블 임의로 테이블 만들고 싶을 때 FROM dual; 값의 문자열 다루기 INSTR 찾은 문자열의 인덱스 값 찾기 SELECT INSTR('CORPORATE FLOOR', 'OR', 1, 1) FROM dual; 'OR' 값을 1번째 .. 2022. 3. 7.
SQL - DML 데이터 조작어 (SELECT, WHERE, ORDER BY, GROUP BY, HAVING, JOIN) 기초 SQL 분류 DDL(데이터 정의어) : CREATE, ALTER, DROP DCL(데이터 제어어) : GRANT, REVOKE *명령어를 대문자로 쓰는 것을 지향 SELECT SELECT col FROM TableA TableA 에서 col 속성 출력 SELECT * TableA * 은 모든 속성 SELECT DISTINCT rental_rate FROM film DISTINCT : 중복 제외 집계함수(COUNT, SUM, AVG, MAX, MIN) + ROUND , AS SELECT COUNT(rental_rate), SUM(rental_rate), MIN(rental_rate), MAX(rental_rate), AVG(rental_rate) FROM film ROUND(col, 자리수) SELECT .. 2022. 2. 9.
Android Studio , Firebase 파이어베이스 : 실시간 데이터베이스 게시물 삭제 + 스토리지 삭제 Storage 파일 삭제 storage 파일 삭제는 해당 파일명이 필요하다. 우선 파일 업로드시 파일 명을 ImageDTO에 저장한다. imageDTO.setImageName(file.getLastPathSegment()); child 파라미터로 폴더명이나 파일명 조합으로 한다. .child("폴더명").child("파일명") private void onDeleteImage(final int position) { storage.getReference().child("images").child(imageDTOList.get(position).getImageName()).delete().addOnSuccessListener(new OnSuccessListener() { @Override public void.. 2021. 1. 13.
Android Studio , Firebase 파이어베이스 : 실시간 데이터베이스 데이터 읽고 쓰기 (like. 인별그램) 시나리오 사진 올리기 앨범에서 사진을 선택하고 제목, 내용을 쓴다. 데이터 쓰기 사진 올리기 데이터를 파이어베이스 실시간데이터베이스에 저장, 스토리지에 사진을 저장한다. 데이터 읽기 (올린 사진 보기) 파이어베이스에서 실시간 데이터베이스 데이터를 가져온다. 사진 올리기 올릴 게시물 데이터 객체 public class ImageDTO { private String imageUrl; private String title; private String description; private String uid; private String userId; getter setter } 파이어베이스 인스턴스 생성 private FirebaseAuth mAuth; private FirebaseStorage storage;.. 2021. 1. 12.
Android Studio , SQLite SQLite는 데이터베이스 관리 시스템이지만 응용 프로그램에 넣어 사용하는 비교적 가벼운 데이터베이스이다. 1. public class DBHelper extends SQLiteOpenHelper { public DBHelper(Context context){ super(context,"Test.db",null,1); //버전 수정 가능 } // 사용할 db가 없을 경우 db 파일 새롭게 만듬 // 자동 호출. 테이블 생성, 기타 필요한 작업업 @Override public void onCreate(SQLiteDatabase db) { //항상 최신구조 Log.d("test","db 생성"); String sql ="CREATE TABLE TestTable(" +"idx INTEGER PRIMARY KE.. 2020. 8. 14.